多人协作的工作模式通常是这样:

1、一天的开始 先git pull  将项目更新到本地
2、代码写完之后,git push origin <branch-name>推送自己的修改
3、如果推送失败,可能远程分支有人提交了,需要先用git pull试图合并;
4、如果合并有冲突,则解决冲突,并在本地提交;
5、没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

下面来模拟下 多人开发:

打开两个终端界面,进行模拟:

1、首先将master 克隆到本地 进入到相应的目录下 都输入

git clone https://github.com/lvhome/firstGit.git

gitlab多人协作开发 git怎么多人开发_ios git


2、查看下分值 会发现只有master

gitlab多人协作开发 git怎么多人开发_git 命令行_02


3、主线master分支,一般不在上面操作 创建dev,dev分支是开发分支,团队所有成员都需要在dev上面工作,所以也需要与远程同步:创建分支并进入分支

git checkout -b dev

另一个小伙伴也切换下分支
现在,A在dev上继续修改,然后把dev分支push到远程:
A修改了pod 然后提交 如图

vim pod 
 git add .
 git commit -m 'A对pod进行了修改'
 git push origin dev

gitlab多人协作开发 git怎么多人开发_git 命令行_03


然而B并不知道你修改了 ,也对pod文件进行了修改

vim pod 
 git add .
 git commit -m 'B对pod进行了修改'
 git push origin dev

gitlab多人协作开发 git怎么多人开发_gitlab多人协作开发_04


如图 发现报错了 ;为什么呢?因为A的最新提交和你试图推送的提交有冲突,怎么解决了,git上图也给我们提示了,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送:(或者点击查看冲突问题解决)

5、继续 B先去 执行下 git pull origin dev 如图

gitlab多人协作开发 git怎么多人开发_git_05


发现冲突了 ,那就解决下冲突吧!

vim pod 进入文件 发现如图

gitlab多人协作开发 git怎么多人开发_git 命令行_06


手动解决,然后合并提交 成功

git add .
git commit -m 'B解决冲突提交'
git push origin dev

gitlab多人协作开发 git怎么多人开发_ios git_07

额外命令
1、git remote -v //查看远程库信息;
2、git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联;
3、git branch -d 删除分支
4、git branch -D 强行删除一个没有被合并过的分支