下面博主来说下多人开发,git 怎么使用,以下为个人摸索以及和别人印证得到的结果,特此声明。

这里来模拟多人操作,现在有1和2两个文件夹,分别代表两个人:

Git多人基本使用笔记_git

1.开两个终端窗口,分别cd到目录:

1.cd Desktop/1
2.cd Desktop/2

2.分别克隆master到这两个文件中:
不同的文件路径

bogon:1 Codeliu$ git clone https://github.com/codeliu6572/justForFun.git

bogon:2 Codeliu$ git clone https://github.com/codeliu6572/justForFun.git

3.分别开一个开发分支

bogon:1 Codeliu$ git checkout -b dev
bogon:2 Codeliu$ git checkout -b dev

4.修改同一个文件中的内容

1项目中添加的内容

Git多人基本使用笔记_服务器_02


2项目中添加内容,不再截图, 为 NSLog(@”Hello World!”);

5.各自合并dev分支到各自的本地master

1的操作:
git add . //添加文件索引
git commit -m "1" //commit到本地仓库 ,“1”为描述信息,这里是1的,如果是2的改为2即可
git checkout master //切换分支到本地master
git merge dev //合并dev分支到master
git branch -d dev //删除dev分支
git branch //检测本地分支,目前只有一个master
git pull //更新服务器master(注意是否有冲突,这里模拟默认没有)
git push //推送本地master到服务器和服务器master进行合并


1同步到服务器之后2的操作
git add . //添加文件索引
git commit -m "1" //commit到本地仓库 ,“1”为描述信息,这里是1的,如果是2的改为2即可
git checkout master //切换分支到本地master
git merge dev //合并dev分支到master
git branch -d dev //删除dev分支
git branch //检测本地分支,目前只有一个master
--------------------------以上合并到本地是和1一样的,重要的是要把a的内容更新下来再同步到服务器
git pull //更新1同步的东西(注意冲突并解决)
更新完之后就push?不,因为增加了新的内容,所以还需要本地合并
git add . //添加文件索引
git commit -m "1" //commit到本地仓库 ,“1”为描述信息,这里是1的,如果是2的改为2即可
完成后:
git push //这样才能保证不报冲突警告
--------------------------------------
你以为这就完了?1还没有更新2的添加内容呢,怎么办呢,在1的终端中

git pull //这样,就实现了一次完整的多人开发更新过程

如果在pull和push时发生什么冲突,看下原因,一般来说是需要在之前进行如下操作:

git add .  //添加文件索引
git commit -m "1" //commit到本地仓库 ,“1”为描述信息,这里是1的,如果是2的改为2即可

这里建议大家不管是第二天初次打开(即使前一天刚提交),还是pull或push之前,都要执行一下上面两句命令行,这样可以有效避免不必要的冲突。

到此结束,不知道各位看官有没有成功,欢迎留言或者加群讨论。