Git ahead(超前) 又behind(落后)
在 Git 項目中,多人共用同一分支開發,執行命令git branch -vv
查看分支狀態,會發現分支經常是類似於ahead 2, behind 1的狀態。
1、解釋
截圖如下:
以 prod 分支為例,ahead 2 意味着 prod 本地分支有兩次 commit 還沒推送到遠程分支,behind 1 表示遠程分支的一次 commit 沒有合並到 prod 本地分支。故此 prod 分支會變成超前又落后的狀態。
2、執行命令
假設現在 prod 本地分支為 1-2,遠程分支為1-3。那么現在需要做的事情是拉取遠程分支代碼,與本地進行合並再推送到遠程分支。
執行命令如下:
# 合並遠程分支代碼
git merge
# 如果有沖突則解決,然后commit,沒有則忽略此步驟
git commit -am "解決沖突"
# 推送遠程倉庫
git push
此時prod 本地分支變為 1-2-3',3'與3內容相同,但hash值不同。
至此,分支狀態便正常了。