2010-06-23 72 views
3

如何在git中合并时强制执行“我的更改”?有人把所有的bin目录中的git,现在我有一个可怕的合并冲突:(如何在git中使用我的更改进行合并?

现在它说以下内容:

当你已经解决了这个问题 运行“git的变基--continue”如果。你 希望跳过这个补丁,而不是 运行“git的变基--skip”。要 恢复原来的分支,并停止 垫底运行“git的变基--abort”。

我不想合并,我只是婉转t使用我的更改删除所有这些文件。

编辑:大多数文件已成功合并,无论是通过自动合并还是因为没有冲突。但是仍然存在像下面这样的一些。

警告:不能合并二进制文件: 的src /报告/ OBJ /调试/ TempPE/GroupMailDS.Designer.cs.dll (HEAD与加gitignore)

+0

也许你需要提供更多关于冲突的细节,但是你不能只对你不想要的文件执行'git rm';修复任何剩余的真实冲突和'git rebase --continue'? – 2010-06-23 08:49:42

+0

更新了问题 – mhenrixon 2010-06-23 09:01:48

回答

8

我不是100%有信心,但我认为这是一个很好的案例:

git merge otherbranch -s recursive -X ours 

该命令试图合并的话题使用递归策略分支到您的签出分支。 -X我们的选项是递归策略的一个子集,它通过假设您当前签出的分支是权威性的来自动解决冲突。

+2

我必须尝试这个,因为如果这种工作超出黑暗的力量,任何负责任的杰德/主人的伟大! – mhenrixon 2010-06-24 05:56:41

+0

哇!这正是我所期待的。谈论可笑的速度! :)我相信这是一个完美的使用这种情况。我想要的是在发生冲突时用我的更改覆盖另一个分支,即使它不完全符合我的要求:) – mhenrixon 2010-06-24 13:05:35

1

您可以:

  • git rmobj目录(其中包含所有这些二进制文件,不应该摆在首位,一直致力于)
  • 添加.GI tignore指令,以确保任何未来的obj目录不会出现在git status(并且不会被添加)
  • git push该新树,有助于宣传'obj'目录应该从其他Git回购消失的事实(因此根本不触发合并)。

如果你可以拥有所有其他参与者的同意,你可以:

但是,由于它涉及用新的历史替换发布的历史,所以只有在其他用户同意的情况下才应该完成。

+0

它是有道理的。我从来没有想过删除目录:) – mhenrixon 2010-06-24 05:54:51

0

我想你可以用你的代码替换它们的二进制文件(因为没有合并是真的可能),或者只是将不需要的二进制文件转换成二进制文件。你做了之后,就重订的git --continue

+0

甚至更​​好,就像VonC建议git rm目录 – mhenrixon 2010-06-24 05:55:20

相关问题