我遇到了一个问题,git 说提交已合并,但提交中的更改不在我的工作树中。更奇怪的是,
git log --name-status 362dde7
告诉我提交修改了一个文件,但
git log -- path/to/modified/file.java
没有显示提交。例如:
确保有问题的提交存在于 dev 分支和 feature 分支上。
$ git branch --contains 362dde74f142831c99820b999558a2e8f49f66e8
* dev
feature
列出提交修改的文件。
$ git show --name-status 362dde74f142831c99820b999558a2e8f49f66e8
# commit summary... #
M path/to/modified/file.java
现在,当我做相反的事情(列出修改文件的提交)时,没有列出提交。
$ git log path/to/modified/file.java
# Commit 362dde7 isn't listed here
如果我切换到功能分支并按照相同的步骤操作,一切都会按预期进行。
$ git checkout feature
$ git show --name-status 362dde74f142831c99820b999558a2e8f49f66e8
# commit summary... #
M path/to/modified/file.java
$ git log path/to/modified/file.java
362dde7 Commit summary
dev
基本上,和都存在相同的提交feature
,但是工作树的更改仅在我feature
签出时才显示。有谁知道为什么会这样?