发生了什么:
我制作并推送了两个提交给主人。
一位同事后来作为发布的一部分做了两次提交。他有一些他不确定的合并问题,做了一些未指明的恢复,然后设法推动。他肯定没有做git push --force
。
Git现在处于一种奇怪的状态:
如果我git log
,那么我可以看到我的提交,但是如果我对他们更改的文件git log
,我就看不到它们。编辑:@Cupcake建议使用--full-history标志在文件上运行git log。当我这样做时,我可以看到'丢失'提交。
我的更改不在主分支的提示中,但相关文件上没有提交以显示对其的任何更改。
在他的提交#4'中,没有显示任何文件被更改。
它在gitk
中的显示方式,我编号以提交它们的顺序(就时间而言):
His Commit #4
| \
| \
| \
| |
| My Commit #2
| |
| My Commit #1
| |
His Commit #3 |
\ /
\ /
\ /
Common Ancestor Commit
git show [His commit #4 hash]
的输出:
Merge: 3f466bf 9663549
Author: His Name <his.name@company.com>
Date: Thu May 29 15:55:37 2014 +0100
NO_ISSUE - updating version
git diff [His commit #4] [His commit #3]
的输出:
<Small code change made in His Commit #3>
git diff [His commit #4] [My commit #2]
的输出:
<All of my changes from My Commit #1, My Commit #2 and His Commit #3>