我在git中删除了几次文件,但随着其他分支的合并,它会再次出现;我猜是这样的:
o-- a topic --o
/ \
o-- [create file] --o-- [delete file] --o-- [file exists again]
由于我们使用“内部版本”使用git,因此我特别难以理解正在发生的事情,即我创建了我推出的发布分支,我们的发布经理将其拉出并合并到主人并且我拉动他的主人。
如何找到我(或其他人)删除文件的位置以及重新引入文件的合并?谢谢!
当您删除分支中的文件,然后合并到包含该文件的另一个分支时,该文件将保持删除状态。现在,即使您删除了分支中的文件并将此分支与另一个分支合并,它仍将被删除。
git merge: Removing files I want to keep!
如果某些内容已添加到此文件中,但是在合并时,您将收到冲突,您必须显式添加此文件并提交它以返回到您删除的分支。
在--follow
有git log
- 跟随
Continue listing the history of a file beyond renames (works only for a single file).
但我不确定这是否是你在这里寻找的。你也可以在History Simplification
手册 - git log
中查看http://git-scm.com/docs/git-log
发生的事情是,当您将topic
分支合并回来时,它包含main
分支中不存在的blob /对象,因此合并将创建一个文件,其中包含它在topic
分支中的状态。为了阻止这种行为,我会合并另一种方式(将main
合并到topic
)或将topic
重新加入main
。如果您在topic
中更改文件然后它将尝试将更改应用于main
,从而导致重新创建该文件,则会出现问题。