拉新主人后找到我的提交

时间:2015-12-03 02:27:06

标签: git

我正在与其他一些人一起开展一个项目,我想把他们推动的变化拉到掌握,然后在新主人的基础上重新定义我的分支(我的分支的最新提交)。我不确定这是否是正确的方法,但无论如何我做了以下步骤。这里的出发点是我的分支。

  1. git checkout master

  2. git pull

  3. git checkout <my-branch>

  4. git rebase master

  5. 这有效,但我有一个疑问。当我拉出新的主人时,HEAD是新主人的最后一次提交。因此,运行git log --graph --decorate不会显示我的分支。如何在此阶段(2到3之间)查看我的分支上的提交?

1 个答案:

答案 0 :(得分:1)

  

当我拉新主人时,HEAD是新主人的最后一次提交。所以运行git log --graph --decorate不会显示我的分支。如何在此阶段(2到3之间)查看我的分支上的提交?

默认情况下,

git log会显示当前HEAD的日志。因为在你的过程中你已经结束了分支'主',它将显示主人的历史。要查看另一个分支的历史记录,例如“my-branch”,您只需指定:

git log --graph --decorate my-branch

您也可以一次指定多个分支:

git log --graph --decorate master my-branch
  

我是通过自动填充我的分支名称来实现的,但是如果我忘记了分支名称呢?

您可以列出您的分支以提醒自己名称(git branch --list),或者您可以查看reflog:

git reflog

这将显示(默认情况下)HEAD的“历史”。输出类似于:

6573269 HEAD@{0}: checkout: moving from foo to master
037f764 HEAD@{1}: commit: add baz
6573269 HEAD@{2}: checkout: moving from master to foo

如您所见,它会告诉您您之间切换的分支的名称。

根据git的安装方式,您可以使用一个方便的工具来浏览分支并浏览历史记录:gitk。运行命令gitk --all &,您将获得一个GUI程序,显示所有分支的历史图表以及用于浏览提交内容的UI。

此外,如果使用git log标志修改--format=oneline命令,则可以获得比通常的多行格式更紧凑的视图。

git log --graph --decorate --format=oneline