繁体   English   中英

强制合并到git的分支中

[英]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

生成路径文件并在必要时对其进行编辑(例如,删除foobar更新的那些文件)。

然后跑

git checkout foo
git apply patch

将'伪合并' barfoo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM