混乱合并和恢复后,Git历史记录和文件更改从特定文件中丢失

时间:2014-05-30 16:09:12

标签: git

发生了什么:

  1. 我制作并推送了两个提交给主人。

  2. 一位同事后来作为发布的一部分做了两次提交。他有一些他不确定的合并问题,做了一些未指明的恢复,然后设法推动。他肯定没有git push --force

  3. 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>
    

0 个答案:

没有答案