我刚刚在我的项目中进行了提交,并且我在每一步都创建了一个标记,但似乎最后一次提交是在一些标记中完成的。问题是我几分钟前无法再看到我最新的变化。我如何在上一次提交中结账,无论我的项目中有哪些标签?我需要最后一个。有什么帮助吗?
这就是我在做的事情:
git commit -m "login module to 60%"
答案 0 :(得分:1)
只需签出您需要上次提交的分支的名称。因此,如果您正在使用master
,请执行git checkout master
。
(编辑:在从评论中获得更多问题后,它就不像上面那么容易了。)
好的,所以我的猜测是你在处于分离的HEAD状态时犯了。这意味着当你提交时你并不真正在一个分支上,所以没有任何东西指向你最后的提交;你需要找到它。通过git reflog
执行此操作。除其他外,这将向您显示您最近的提交。找到最接近顶部的那个看起来像提交的那个(即具有提交消息的那个)。哈希将列在它旁边;用它来做git checkout <hash>
。
所以现在你正在进行提交,你有几个选择。您应该做的是创建一个指向git checkout -b branch-name
提交的分支。另一种方法是只标记它,就像你一直在做的那样。创建新分支的好处是,每次在该分支上提交时,分支都将进入该提交,因此您不会再遇到这些问题。
另外,我强烈建议你给Git book一个可靠的读物。它将使你的生活更加轻松。
(的 EDIT2 强>)
顺便说一下,如果你真的标记了你的上一次提交,你可以用git tag -l
列出所有标签,并以这种方式获取哈希值。事实上,一旦你知道了标签名称,就可以git checkout <tag-name>
。