git 分支管理——多人协作
git 分支管理——多人协作
一般一个项目有一个master
主分支,还有一个develop
开发分支。主要是在develop
分支上协作开发,然后merge
合并到master
主分支上。
当从远程仓库克隆时,其实git clone
操作将远程的master
和本地的master
分支对应起来了。并且默认的仓库名称是origin
。
多人协作
多人协作,我这里的多人协作是指,多个人在develop
分支上开发,这时候大家往往会在master
和develop
分支上推送各自的修改。
模拟一个小伙伴克隆代码并在develop
分支上更新提交代码
# 克隆代码
$ git clone ……
# 切换分支
$ git checkout develop
# 同步远程和本地分支内容
$ git pull origin develop
# 更新修改代码
# 提交更新
$ git add .
$ git commit -m "first commit"
$ git push origin develop
这个时候,你的小伙伴已经向origin/develop
分支推送了他的代码更新提交,而这个时候,你也同样更新了develop
分支上的内容,并且也要推送提交。
这个时候远程develop
分支上已经更新了小伙伴的推送,模拟你也对同样的文件做修改并推送
# 提交推送你的更新
$ git add .
$ git commit -m "other partner update code"
$ git push origin develop
这个时候发现推送会有错误。
这是因为你的小伙伴的最新提交和你试图推送的部分的提交有冲突。
解决办法很简单,按照git
提示,先用git pull
把最新的提交从origin/develop
上抓取下来。,然后在本地合并,解决冲突,再推送。
执行命令:
# 同步远程版本库的更新,拉回分支更新到本地
$ git pull
git pull
相当于从远程获取最新版本并且merge
到本地。(相当于git fetch和git merge的操作)
git fetch
相当于从远程获取最新版本到本地,不会自动merge
这个时候可以看到有冲突CONFLICT
,解决本地冲突。
解决冲突之后,再提交就可以了。
在执行git pull
操作的时候,可能会出现以下一个vim
窗口,
执行:q
退出就可以了。
注意:每次在提交代码前最好都
git pull
合并一下,然后解决冲突,再推动提交
有道云笔记参考:
http://note.youdao.com/noteshare?id=37f3f8f3c37752db7c8fab7889880b94&sub=656272912B8A41F8ADDA38D8680D68C5
博客园:http://www.cnblogs.com/real-me
Copyright ©2018 吴煜伦比的疯丫头
【转载文章务必保留出处和署名,谢谢!】