git多人協作開發
阿新 • • 發佈:2018-12-17
多人協作的工作模式通常是這樣:
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 2、檢視下分值 會發現只有master 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
然而B並不知道你修改了 ,也對pod檔案進行了修改
vim pod
git add .
git commit -m 'B對pod進行了修改'
git push origin dev
如圖 發現報錯了 ;為什麼呢?因為A的最新提交和你試圖推送的提交有衝突,怎麼解決了,git上圖也給我們提示了,先用git pull把最新的提交從origin/dev抓下來,然後,在本地合併,解決衝突,再推送:(或者點選檢視衝突問題解決)
5、繼續 B先去 執行下 git pull origin dev
如圖
發現衝突了 ,那就解決下衝突吧!
vim pod
進入檔案 發現如圖
手動解決,然後合併提交 成功
git add .
git commit -m 'B解決衝突提交'
git push origin dev
額外命令 1、git remote -v //檢視遠端庫資訊; 2、git branch --set-upstream branch-name origin/branch-name 建立本地分支和遠端分支的關聯; 3、git branch -d 刪除分支 4、git branch -D 強行刪除一個沒有被合併過的分支