[英]Git: how to update branch with master?
這是我的情況:
我已經開始了一個新的分支(我們稱它為foo
),並做了一些工作,
我已經把foo
推到了遠端
需要在master
上做一些事情,所以我切換到master,進行了修復並推送了,
現在:如何使用master
更新foo
? 因為我需要處理foo
,但是我希望它與master
的更改保持一致。 我明白我不應該rebase
已經公布的一個分支...
謝謝!
很好,您知道您不應該重新設置基礎並強行推動已發布的分支。
您需要將master
更改為foo
嗎? 在這里要做的最自然的事情就是這樣做。 將master
的更改合並到foo
。
您的情況:
o---o---o - master
\-o---o---o - foo
然后:
$ git checkout foo
$ git merge master
導致在foo
進行新的合並提交m
:
o---o---o---------- - master
\ \
\-o---o---o---m - foo
從歷史上可以明顯看出您做了什么,可能是為什么。 您甚至可以在m
的提交消息中提及來自master
的需求。
從foo
合並master
git checkout foo
git merge master
或者,如果其他開發人員未使用foo
,並且您有權在遠程上強制執行推入操作,則可以對其進行重新設置並強制推入:
git checkout foo
git rebase master
git push -f remote
我堅持認為,存在基礎重建和力量推已經發布沒有危險,只要你知道,除了你沒有人計划,直到他們獲取你的底墊,然后出版提交上或從這些提交的工作承諾。 下次您的同事從遠程獲取時,他們將看到foo
被強制更新,僅此foo
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.