git 分支管理——多人协做

git 分支管理——多人协做

通常一个项目有一个master主分支,还有一个develop开发分支。主要是在develop分支上协做开发,而后merge合并到master主分支上。git

当从远程仓库克隆时,其实git clone操做将远程的master和本地的master分支对应起来了。而且默认的仓库名称是originvim

多人协做

多人协做,我这里的多人协做是指,多我的在develop分支上开发,这时候你们每每会在masterdevelop分支上推送各自的修改。fetch

模拟一个小伙伴克隆代码并在develop分支上更新提交代码code

# 克隆代码
$ 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

这个时候发现推送会有错误。it

error

这是由于你的小伙伴的最新提交和你试图推送的部分的提交有冲突。ast

解决办法很简单,按照git提示,先用git pull把最新的提交从origin/develop上抓取下来。,而后在本地合并,解决冲突,再推送。date

执行命令:im

# 同步远程版本库的更新,拉回分支更新到本地
$ git pull

git pull 至关于从远程获取最新版本而且merge到本地。(至关于git fetch和git merge的操做)
git fetch 至关于从远程获取最新版本到本地,不会自动merge

这个时候能够看到有冲突CONFLICT,解决本地冲突。

conflict

解决冲突以后,再提交就能够了。

push

在执行git pull 操做的时候,可能会出现如下一个vim窗口,

git pull

执行:q退出就能够了。

注意:每次在提交代码前最好都git pull合并一下,而后解决冲突,再推进提交

有道云笔记参考:
http://note.youdao.com/noteshare?id=37f3f8f3c37752db7c8fab7889880b94&sub=656272912B8A41F8ADDA38D8680D68C5

相关文章
相关标签/搜索