http://www.ruanyifeng.com/blog/2012/07/git.html    git分支管理

 
基础命令:
1.创建账户
git config --global user.name "yourname"
git config --global user.email "youreami@xx.xxx"
git congig --list //查看配置列表
 
1.1基础操作:
Git init【创建一个空的Git库。在当前目录中产生一个.git 的子目录】
Git add【将当前工作目录中更改或者新增的文件加入到Git的索引中;git add .表示添加全部】
Git rm【从当前的工作目录中和索引中删除文件。】
Git commit【提交当前工作目录的修改内容。】
Git status 【查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到git库中等等。】
Git log 【查看历史日志,包含每次的版本变化。每次版本变化对应一个commit id。 】
Git merge 【把服务器上下载下来的代码和本地代码合并。或者进行分支合并。 】
Git diff 【把本地的代码和index中的代码进行比较,或者是把index中的代码和本地仓库中的代码进行比较。 】
Git checkout 【切换到分支;[git checkout .]——返回本次的最初修改】
 

1.2分支操作

git branch 分支名 父分支名称【创建分支】
git checkout 分支名【切换分支】
git branch -d 分支名【删除分支】
git tag 标签名 分支名【打标签】
git branch -m 原分支名 新分支名【修改分支名】
 
2.设置ssh生成钥匙和锁&验证成功

 
ssh-keygen -t rsa -C  your_email@youremail.com
查看你的public key
cat ~/.ssh/id_rsa.pub
 
3.建立远程连接

 
git remote add origin ssh链接    //origin可以自己命名(这个是主机名)
 
4.提交版本库和从远程获取

 
git pull origin master    //从远程获取(并且自动合并)
git fetch origin master   //从远程获取(不会自动合并)
git clone <版本库的网站>  //拷贝(克隆)一份
git push origin master    //变化提交到了远程库
 
5.合并远程与本地版本库
 Git merge 

把服务器上下载下来的代码和本地代码合并。或者进行分支合并。 (git merge master)
例如:当前在master分支上,若想将分支dev上的合并到master上,则git merge dev
注意:git merge nov/eclair_eocket (是将服务器git库的eclair_eocket分支合并到本地分支上) 
      git rebase nov/eclair_eocket (是将服务器git库的eclair_eocket分支映射到本地的一个临时分支上,然后将本地分支上的变化合并到这个临时分支,然后再用这个临时分支初始化本地分支) 
 
6.git发生冲突
 
其中:冲突标记<<<<<<< (7个<)与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
此时,还没有任何其它垃圾文件产生。 
最简单的编辑冲突的办法,就是直接编辑冲突了的文件(test.txt),把冲突标记删掉,把冲突解决正确。

 
git创建ssh是碰到的一个问题
 
1.当设置完git的user.name和user.email后
2.创建本地ssh ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

3.查看你的public key cat ~/.ssh/id_rsa.pub

4.把public key添加到线上的代码托管的地方化

5.ssh -T git@git.oschina.net验证是否成功

6这时候会出现下图的这些东西,
有一句问句Are you sure you want to continue connect(yes/no)?
这里一定要输入yes,不能直接回车,否则会出现连接失败的
 

7.如果输入yes,会有一句waring,不用管,这样就连接成功了。。。NND,弄了好几天

 
 

git管理项目: 【不仅仅适用git】
  1. 项目一步一步做下去,一个功能提交一次。功能修改单独提交一次。
  2. 详细的文件夹分类,命名
  3. 分支:主要功能都可以运行了,然后,再添加功能的时候,使用分支;如果,功能OK,合并到主干;不OK,删除分支;
  4. 标签:建立标签,确定每一个阶段,相当于版本号。
  5. 文件夹分类:大的功能一个文件夹,小的功能再一个文件夹;建立readme文档,对于每个文件夹都需要说明功能;列出所有的目录结构
例如:
   主目录:
   ————分目录1
   ———————————| 1.1 子目录
   ———————————| 1.2 子目录
   ———————————| 1.3 子目录
   ———————————| 1.0 分目录下面的入口文件
 
   ———————分目录2
   ———————分目录3

全文只是自己初学git,以及对于git运用的一些想法。最好的学习是总结,是记录。。。。加油.........
 
 

初学git && 使用总结的更多相关文章

  1. 初学git(一):创建本地“仓库”

    初学git(一):创建本地“仓库” 作为一个初学者,我是跟着廖学峰老师的官方博客学习,这里只是做个笔记,哈哈,关于git的历史.和其他版本控制的对比啥的,我就不说了.另外,我这里用的是Mac OS X ...

  2. 初学git

    初学git,总结了一点东西,可能有理解和操作的不到位的地方,还有就是这个是我之前写在word上的,因为CSDN上不能直接上传,所以拷贝的过程中也可能有其他问题.发的的朋友还望指正... 1.找到“参与 ...

  3. 初学git,出现错误:fatal: Not a git repository (or any of the parent directories): .git

    提示说没有.git这样一个目录,解决办法: 输入  git init 就可以啦.

  4. 初学git:用git bash往github push代码

    对于我来说,最开始使用github主要是为了使用它的pages功能展示demo.其实这些都是用Github for Windows push上去的,图形化界面的客户端使用确实简单,但是逼格不够,好吧其 ...

  5. 初学Git命令

    初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件: 使用命令git commit ...

  6. 初学git,初始化库|添加文件ignore|提交方法

    1.初始化git仓库: 进入任意目录,右键选择:Git Bash Here,输入命令:git status 查看当前git库的状态. 如要排除文件,在库根目录下创建.gitignore文件(新建文件改 ...

  7. (转)初学Git及简单搭建git服务器和客户端

    终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...

  8. 初学Git和Github

    一开始看到老师的作业,出于好奇打开看了一下教程链接,一脸懵逼.What is this???然后慢慢了解,自己百度琢磨这个陌生的git,Git是一款免费.开源的分布式版本控制系统.Github是一个代 ...

  9. 初学Git——命令总结

    首先,感谢廖雪峰老师制作的Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0 ...

随机推荐

  1. vmware 10 注冊码

    先安装VMware Workstation 10.0原版,然后用以下的随意一个VMware Workstation序列号注冊 1Y0LW-4WJ9N-LZ5G9-Z81QP-92PN7 JU052-F ...

  2. Hadoop读书笔记(二)HDFS的shell操作

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1全部的HDFS ...

  3. SQL声明大全

    1.随机选择3记录     select top 3 * from tablename newid() 2.随机选记录     select newid(). 3.删除反复记录 1) delete f ...

  4. centos7安装并配置svn(转)

    一.安装 1. 通过 yum install subversion来安装 2. 查看svn版本 使用: svnserve –version 3. 创建svn版本库 使用命令: svnadmin cre ...

  5. 【转】c#实现字符串倒序的n种写法

    其中LINQ写法最为简洁 //string concatenation with for loop public string ReverseA(string text) {     char[] c ...

  6. .NET读写Excel工具Spire.Xls使用(1)入门介绍

    原文:[原创].NET读写Excel工具Spire.Xls使用(1)入门介绍 在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式 ...

  7. Effective C++ 条款44

    本节条款的标题是:将与參数无关的代码抽离templates 学习本节条款首先须要明确一件事情,那就是模板实例化的过程会不会反复? 我们来举个样例: #include<iostream> u ...

  8. POJ1274_The Perfect Stall(二部图最大匹配)

    解决报告 http://blog.csdn.net/juncoder/article/details/38136193 id=1274">题目传送门 题意: n头m个机器,求最大匹配. ...

  9. 给Activity设置Dialog属性,点击区域外消失;

    1.在AndroidManifest.xml中给Activity设置样式: <activity             android:name=".MyActivity" ...

  10. [ACM] HDU 1227 Fast Food (经典Dp)

    Fast Food Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...