检查旧提交时丢失更多最近的提交

时间:2017-02-28 12:43:27

标签: git

如果

git log

#o/p

#commit 1

#commit 0

然后

git checkout 0

然后

git log

#commit 0

提交1已被删除......

我不认为这是我使用git(有限)经验的正常行为。我在dropBox中使用它,但似乎没关系。真的很感激一些帮助。

2 个答案:

答案 0 :(得分:1)

当我们签出一个commit-hash时,我们不再在分支上(detached HEAD)。

结帐到分行。你应该回到你的分支HEAD(退出commit0,commit1)

$ git branch                 # copy your branch name
$ git checkout <branch-name> # back to branch HEAD

Or,
$ git checkout -             # switch to the last commit you were

答案 1 :(得分:1)

在这种情况下,提交1未被删除。您刚刚切换到较旧的提交,现在git log仅显示作为[较旧]提交的祖先的提交。

您可以使用git checkout -git checkout $commit1_hash返回较新版本。

此外,使用git reflog查看修订版之间切换的历史记录可能会有所帮助。