在git中合并时如何强制“我的更改”?有人将所有bin目录放在git中,现在我遇到了可怕的合并冲突:(
现在说出以下内容:
解决了这个问题后 运行“git rebase --continue”。如果你 我宁愿跳过这个补丁, 而是运行“git rebase --skip”。至 恢复原始分支并停止 重新运行“git rebase --abort”。
我不想合并,我只是想使用我的更改删除所有这些文件。
编辑:大多数文件已成功合并,可以通过自动合并或因为没有冲突。但是仍有不少存在,如下所示。
警告:无法合并二进制文件: SRC /报告/ OBJ /调试/ TempPE / GroupMailDS.Designer.cs.dll (HEAD与添加的gitignore相比)
答案 0 :(得分:8)
我对此并不是100%有信心,但我认为这是一个很好的例子:
git merge otherbranch -s recursive -X ours
该命令尝试使用递归策略将主题分支合并到已签出的分支中。 -X我们的选项是递归策略的一个子集,通过假设您当前检出的分支具有权威性来自动解决冲突。
答案 1 :(得分:1)
你可以:
git rm
obj
目录(包含所有这些二进制文件,不应该首先提交)git status
中(并且不会被添加)git push
新树,有助于传播'obj
'目录也应该从其他Git回购中消失的事实(因此根本不会触发合并)。如果您可以征得所有其他参与者的同意,您可以:
git push -f
(强制推送)到“中央”git仓库,其他开发人员可以从中获取并重置自己的分支。但由于它涉及用新的历史替换已发布的历史记录,所以只有在其他用户同意的情况下才应该这样做。
答案 2 :(得分:0)
我猜你可以用你的二进制文件替换它们(因为没有合并是真的可能)或只是git rm不需要的二进制文件。完成后,只需git rebase - 继续