柚子快報(bào)激活碼778899分享:Git解決push遇到?jīng)_突問題
適用場景:
兩個(gè)開發(fā)者 A 和 B 同時(shí)克隆了同一個(gè)遠(yuǎn)程倉,兩人都在本地分支進(jìn)行修改,并將修改推送到遠(yuǎn)程倉庫。開發(fā)者 A 先推送了他的分支到遠(yuǎn)程倉庫,開發(fā)者 B 在推送自己的分支時(shí),由于此時(shí)遠(yuǎn)程倉庫已經(jīng)發(fā)生變化,可能與他本地的分支不一致,因此Git會(huì)拒絕推送。
使用流程和方法:
方法一:使用git pull
按照git的沖突錯(cuò)誤提示,先pull更新本地代碼本地解決沖突后push到遠(yuǎn)程,注意解決完沖突后再pull一下防止張三有傳了新東西到遠(yuǎn)程倉庫的同一個(gè)分支。然后push一下就萬事大吉了,如果還是不放心可以用git log看一下日志咯
$ git add .
$ git commit -m "...."
$ git push <遠(yuǎn)程倉庫名> <本地倉分支名>:<遠(yuǎn)程倉分支名>
若有沖突會(huì)提示 error: This is usually caused by another repository pushing to the same ref
如果出現(xiàn)錯(cuò)誤提示就先按照錯(cuò)誤的提示pull最新代碼然后你就會(huì)發(fā)現(xiàn)你的分支名后面變成了
(merge-dev|MERGING)
這樣不要慌先在本地解決一下沖突,使用git status查看一下沖突的文件然后隨便用一個(gè)編輯器進(jìn)入沖突的文件
手動(dòng)解決沖突然后執(zhí)行命令
git add .
git commit -m '提交解決沖突的代碼'
git push到遠(yuǎn)程就好了
方法二:使用git fetch+git merge(git pull = git fetch+git merge)
1. 在本地創(chuàng)建一個(gè)臨時(shí)分支 temp,并將遠(yuǎn)程倉分支上的更新拉到 temp
$ git fetch origin <遠(yuǎn)程倉分支名>:temp
2. 返回到你的分支比如是dev,就git checkout dev,將 temp 合并過來
$ git merge temp
3.開始自動(dòng)合并如果內(nèi)容有沖突會(huì)返回error需要手動(dòng)解決沖突
手動(dòng)解決沖突然后執(zhí)行命令
git add .
git commit -m '提交解決沖突的代碼'
git push到遠(yuǎn)程就好了
柚子快報(bào)激活碼778899分享:Git解決push遇到?jīng)_突問題
推薦鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。