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

相關文章
相關標籤/搜索