我现在遇到这样一种情况,在一个功能分支上所做的一些更改并没有在主分支中反映出来,即使这个分支已经与主分支合并。我不知道为什么会出现这种情况。简单地说,假设这个提交具有哈希值“A”,更改了文件“file”。
可以通过以下命令最好地说明这个问题:
$ git checkout master
$ git branch --contains A
* master
feature_branch
$ git log file | grep A
(no output)
$ git checkout feature_branch
$ git log file | grep A
A
有人可以解释一下这里发生了什么吗?更重要的是,有什么措施可以防止将来再次发生这种情况吗?
编辑:
正如一些人提到的那样,以下内容显示了提交记录:
$ git checkout master
$ git log --follow file | grep A
A
问题在于...文件没有被重命名。所以这也不能完全解释事情的原因。
git log A..master
,你会得到什么输出(如果有的话)? - jub0bs