显示在独立头上的提交

时间:2014-01-29 11:38:02

标签: git

如果我执行以下步骤:

  1. git checkout mytag#我现在处于超然的状态。
  2. git commit
  3. git commit
  4. 可以使用哪个git命令查看mytag与当前状态之间的变化?

    此命令不应使用“mytag”,因为它不再可用。

2 个答案:

答案 0 :(得分:1)

您可以使用

git show

查看上一次提交(HEAD当前指向的那个)引入的更改。您还可以使用git show <COMMIT>查看您指定的任何单个提交所引入的更改。 (git show manpage中的详细信息。)

如果要查看两点之间的差异,可以使用

git diff <FROM> <TO>

其中<FROM><TO>都引用任何提交(或对提交的引用等)。 (git diff manpage中的详细信息。)

在您的特定情况下,当您想要查看当前提交和两次提交之前的差异时,您可以使用

git diff HEAD~2 HEAD

其中HEAD~2第二代祖先提交HEAD(=您当前所在的位置)。这样可以避免使用mytag的引用名称。

有关<ref>~<n>表示法的详细信息,请参阅gitrevisions manpage

答案 1 :(得分:1)

尝试git merge-base

git log `git merge-base HEAD master`..HEAD

git merge-base将为您提供两个分支之间的共同祖先 然后git log A..B将为您提供从AB

的提交历史记录

而不是master,您可以使用mytag开始的分支。