我正在与其他一些人一起开展一个项目,我想把他们推动的变化拉到掌握,然后在新主人的基础上重新定义我的分支(我的分支的最新提交)。我不确定这是否是正确的方法,但无论如何我做了以下步骤。这里的出发点是我的分支。
git checkout master
git pull
git checkout <my-branch>
git rebase master
这有效,但我有一个疑问。当我拉出新的主人时,HEAD是新主人的最后一次提交。因此,运行git log --graph --decorate
不会显示我的分支。如何在此阶段(2到3之间)查看我的分支上的提交?
答案 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