我是 git 新手,我有一個用例,在那里我提出了新的提交并將其發送給代碼審查,但后來我意識到我的本地主線分支不是最新的提交,我團隊中的某個人已經推送了新的提交到遠程主線分支。
讓我們看看scanriao:
A--> B--> C <-- 我在 C 的本地最新提交。
但是我的團隊提出了新的提交并將其合并到遠程分支。假設它是提交 D。
所以我想要達到的目標如下:
A-->B-->D-->C
我如何能夠實作上述圖表更改。就像從主線(即 D)中提取最新更改,然后將我的更改(即 C)作為最新提交推送。
謝謝。
uj5u.com熱心網友回復:
我總是使用(從Git 2.6,Q3 2015 開始)
git config --global pull.rebase true
git config --global rebase.autoStash true
這樣,一個簡單git pull的就足以A-->B-->D--->C自動獲得。
uj5u.com熱心網友回復:
git fetch 同步最新的主人。
之后在您的分支中運行git rebase -i origin/master。
變基后將您的分支推送到 remote git push --force。
現在您的分支與您的提交對齊,master并且您的提交是鏈中最新的。
IMO 可以git push --force在您的分支中使用(如果您在那里單獨開發),但不能在 master 上使用它,所以要小心。
uj5u.com熱心網友回復:
選項
存盤您的更改并拉取然后應用您的更改(如果發生沖突并解決沖突)并推送代碼。
選項
git fetch 同步最新的 master。之后在您的分支中運行 git rebase -i origin/master。將分支重新定位到遠程 git push --force 之后。現在您的分支與 master 對齊,并且您的提交是鏈中最新的。通過@tarmo
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414046.html
標籤:
上一篇:我怎樣才能將回購移動到不同的來源
