合并后,某些提交更改消失了

时间:2016-06-20 14:02:39

标签: git

我在分行foo.bar工作。我在文件d379865和其他一些文件中做了一些工作。我将其提交给issue

然后结帐到分行otherIssue,将issue合并到issue并推送到上游。

之后 dev1 在其他文件中对其本地foo.bar执行某些操作而不更改4fb65b2。 (提交issue)。并将上游的issue合并到他的foo.bar。之后,我的更改消失了

我使用git show c1c25b5git show 4fb65b2 * | c1c25b5 - (9 hours ago) NO CHANGES Merge branch 'issue' of repo:project into issue - dev1 |\ \ | * | 4c95813 - (14 hours ago) MY CHANGES IS STILL HERE - dev2 | * | a08ccdb - (14 hours ago) Merge branch 'otherIssue' into issue - dev2 | |\ \ | | |/ | | * d379865 - (14 hours ago) otherIssue: MY CHANGES IS HERE - dev2 | | * 521d54d - (19 hours ago) otherIssue: some changes - dev2 * | | 4fb65b2 - (11 hours ago) issue: somechanges - dev1 |/ / * | b3baeed - (19 hours ago) issue: - dev1 看不到任何变化。

我的图表:

$ MERGE_COMMIT=c1c25b5
$ BRANCH_ONE=c1c25b5^1
$ BRANCH_TWO=c1c25b5^2
$ COMMON_ANCESTOR=b3baeed
$ FILE_WITH_MISSING="path/to/foo.bar"

$ git show $MERGE_COMMIT | grep $FILE_WITH_MISSING | wc -l
  0 # Why??
$ git diff $MERGE_COMMIT..$COMMON_ANCESTOR -- $FILE_WITH_MISSING | wc -l
  0
$ git diff $BRANCH_ONE..$COMMON_ANCESTOR -- $FILE_WITH_MISSING | wc -l
  0
$ git diff $BRANCH_TWO..$COMMON_ANCESTOR -- $FILE_WITH_MISSING | wc -l
  210
$ 
$ git log -p $COMMON_ANCESTOR..$BRANCH_ONE | grep "$FILE_WITH_MISSING" | wc -l
  0
$ git log -p $COMMON_ANCESTOR..$BRANCH_TWO | grep "$FILE_WITH_MISSING" | wc -l
  3
$ 

我可以毫无问题地恢复更改,但我无法理解这怎么可能发生?

{{1}}

有问题" Git; code disappeared after merge",但没有对此事件的解释。

0 个答案:

没有答案
相关问题