[英]Force merging in a branch in git
目前,我在foo
分支上,由於合並原因復雜,我想合並分支bar
更改,git顯然認為這是foo
的一部分。
不幸的是,結果是如果我跑步
git checkout foo
git merge bar
盡管分支bar
有一些更改要進入分支foo
,但我將得到消息Already up-to-date
的消息。
我考慮了兩種可能的解決方案。
一種可能是簡單地檢出bar
,將其復制到其他地方,檢出foo
,然后手動執行合並。 這將起作用,但是如果存在這樣的問題,我寧願選擇一種較少手動的解決方案。
另一種可能性是進行反向合並,即將foo
合並為bar
。 不幸的是,當我嘗試執行此操作時,git的自動合並功能會完全擦除我要保留的bar
更改,並用foo
更改替換它們,這是不希望的。
如何強制git假裝bar
在將來而foo
在過去,以允許bar
合並到foo
?
這不是一個聰明的解決方案,但應該可以:
首輪
git diff -p foo bar <files_you_want_to_merge> > patch
生成路徑文件並在必要時對其進行編輯(例如,刪除foo
比bar
更新的那些文件)。
然后跑
git checkout foo
git apply patch
將'偽合並' bar
到foo
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.