7

我在 git 中删除了几次文件,但随着其他分支的合并,它又不断出现;我猜是这样的:

                      o--  a topic  --o
                     /                 \
o-- [create file] --o-- [delete file] --o-- [file exists again]

由于我们使用“内部发布”与 git 一起工作,因此我特别难以掌握发生了什么,即我创建了我推送的发布分支,我们的发布经理将其拉下并合并到主控,我拉动他的主控。

如何找出我(或其他人)删除文件的位置以及重新引入文件的合并?谢谢!

4

2 回答 2

2

当您在一个分支中删除一个文件,然后在另一个包含该文件的分支中合并时,该文件仍然被删除。现在,即使您删除了分支中的文件并将该分支与另一个分支合并,它仍然会被删除。

git merge:删除我想保留的文件!

但是,如果将某些内容添加到此文件中,则在合并时,您将遇到冲突,您必须显式添加此文件并提交它才能返回到您删除的分支。


--followgit log

- 跟随

Continue listing the history of a file beyond renames (works only for a single file).

但我不确定这是否是你在这里寻找的。您也可以查看手册 - h History Simplification​​ttp : //git-scm.com/docs/git-loggit log

于 2011-05-16T14:52:13.620 回答
0

发生的情况是,当您重新合并topic分支时,它包含分支中不存在的 blob/对象main,因此合并将创建一个文件,其中包含它在topic分支中所处的状态。为了阻止这种行为,我会以另一种方式合并(合并maintopic)或重新定位topicmain. 如果您更改文件,则会出现问题,topic然后它将尝试将更改应用于main导致文件的重新创建。

于 2011-05-16T18:51:39.873 回答