多人協作代碼,若修改區域不是同一塊很容易解決。
場景描述:初始master上代碼版本號爲A,他人在本地修改後提交到master,版本號變爲B,但此時我本地版本號仍是A,
本地修改之後變爲B‘,無法進行推送。
解決方案:
1,查看並創建分支:
git branch
git branch checkout -b newdev
2,當前本地位於 newdev 分支,進行常規提交操作
git add .
git commit -m "About your chages"
3,切換回master分支進行合併
git checkout master
git merge newdev
4,此時會出現兩種情況:
4.1 如果其他人修改的地方與你修改的地方不是同一片區域,則系統自動合併所有修改,
此時master分支上的版本號爲C
你只需要在本地填寫commit
“Why this merge is needed? ”
4.2 如果你與其他人修改過同一片區域,則會在文件中產生衝突語句,
需要打開衝突文件,保留兩人其中一個人的修改版本,
之後以git add .
聲明衝突已經解決,並commit本次修改
git status -s
git add .
git status -s
git commit
5,至此版本衝突解決,可以成功提交到遠端master分支,且版本號爲C。