签出对应于分支

时间:2016-08-08 09:28:12

标签: git git-checkout

我使用git worktree,想要查看一个分支,该分支也在另一个工作区检出。我不需要分支本身,但我需要与分支相对应的提交作为分离的HEAD。 git checkout $(git rev-parse mybranch)是一种解决方案,但它很冗长(如果已经存在一种简单的方法,我宁愿不为它添加别名)。有没有办法简洁地检查对应于分支的提交?

2 个答案:

答案 0 :(得分:3)

根据git help checkout,直接和非神奇的解决方案是:

git checkout --detach mybranch

答案 1 :(得分:1)

git checkout mybranch^0git checkout mybranch~0都有效。

~0表示"第0个祖先",这是提交本身。 ^0表示"第0个父母"对于具有多个父项的提交(合并提交)。我不确定为什么这会解决提交本身,但确实如此。

由于git checkout <anything that is not just the name of a branch>会将提交检出为已分离的HEAD,因此即使git checkout mybranch~0没有,git checkout mybranch也会有效。