git merge不包含我的更改

时间:2011-11-02 19:26:16

标签: git git-merge

我有两个git分支B1和B2。 B2有我文件F的最新副本。当我将B2合并到B1(git checkout B1 && git merge B2)时,F(git log F)的日志不包含在B2上完成的任何提交。我只看到先前存在于B1上的提交C1-C3。但是当我做(git log --follow F)时,我看到B1,C4-C6上的B1提交。但是,当我打开文件F来检查它时,它不包含来自提交C4-C6的那些更改。发生了什么事?

2 个答案:

答案 0 :(得分:1)

除非您重命名该文件,否则您不需要使用“关注”。尝试git log B1 -- F只过滤提交是否影响该文件。

还可以使用git blame F来查看提交文件中当前行的内容。

正如你所说,历史非常复杂。如果合并中存在冲突,您可能已接受冲突的“他们”方面,这将消除当前分支历史中引入的更改的可见性。

答案 1 :(得分:0)

在创建分支和合并后我遇到了同样的问题,问题是当你的主服务器可以从分支机构到达时,git会快进。

要记录此信息,您需要参数

git merge --no-ff B2
祝你好运。