我想要做的是根据 commitId 签出一个特定的提交,然后我想签出紧随我所在的那个提交之后的提交。有没有什么办法可以做到这一点,而无需在我使用的那个之后使用提交的 commitId?或者有没有办法找出我所拥有的离当前分支有多远?
基本上,我有一个版本的 commitId,它距离头部 X 远。我需要弄清楚如何让 X-1 版本的 commitId 远离主版本,或者只是找出 X 是什么。
我想要做的是根据 commitId 签出一个特定的提交,然后我想签出紧随我所在的那个提交之后的提交。有没有什么办法可以做到这一点,而无需在我使用的那个之后使用提交的 commitId?或者有没有办法找出我所拥有的离当前分支有多远?
基本上,我有一个版本的 commitId,它距离头部 X 远。我需要弄清楚如何让 X-1 版本的 commitId 远离主版本,或者只是找出 X 是什么。
$ git name-rev --name-only HEAD
这将为您提供一个有用的名称,例如master~6
, 或tags/mytag~2
,您可以使用该名称轻松命名下一次提交(即master~5
或tags/mytag~1
)。
如果您在给定分支后面的 X 次提交的修订中签出(让我们称之为它master
,您可以这样做:
git log --pretty=oneline HEAD..master | wc -l
master
那应该返回您和分支之间的提交次数
希望这可以帮助。