如何在所有标签中获得最后一次提交?

时间:2015-06-22 17:09:15

标签: git

我刚刚在我的项目中进行了提交,并且我在每一步都创建了一个标记,但似乎最后一次提交是在一些标记中完成的。问题是我几分钟前无法再看到我最新的变化。我如何在上一次提交中结账,无论我的项目中有哪些标签?我需要最后一个。有什么帮助吗?

这就是我在做的事情:

  1. 以60%
  2. 编码简单的登录模块
  3. 为60%的登录模块提交提交(在git add -A之后)git commit -m "login module to 60%"
  4. 以100%
  5. 完成编码登录模块
  6. 使用以下命令创建标记:git tag -a myTag-01 -m“登录模块已完成”
  7. 依旧......

1 个答案:

答案 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>