不要让git merge删除文件

时间:2015-06-13 15:41:16

标签: git merge

假设我有分支A和B.在A中有一些文件被删除。现在A被合并到B中,我希望在合并后将其存在于B中。最简单的方法是什么?

2 个答案:

答案 0 :(得分:3)

如果(无论出于何种原因)--no-commit 确实不适合您,请继续进行合并。然后,执行git checkout head~ path/to/file。然后,执行commit --amend。这将修改合并提交,使其与合并前的分支B中的已删除文件一样。

答案 1 :(得分:1)

关于这一点的事情没有意义。

您描述的情况非常适合协作工作;一个文件可能会被删除,当你将该分支合并到另一个分支时,会反映出它的删除。

Git只是简单地传达了这样一个事实:删除发生在历史的某个时刻,一旦你将两个分支合并在一起,这个事实就会顺利翻译(除非这个文件发生冲突)。

合并后,您说这两个分支现在包含相同的信息,如果一个分支有您不想传达的信息,您必须解决它,最好是在该分支上。

要执行此操作,请导航到删除该文件的特定提交,然后在其上执行git revert

git revert <sha>

如果那个特定的revert会改变任何其他文件,那么可能应该首先讨论为什么文件被其他提交者删除了。