说我是否检查了以前版本的回购。假设为简单起见,每个提交由一个数字表示,如下所示。如何在HEAD指向后查看版本?我知道我可以通过
进入之前的提交git checkout HEAD~1
但是如何才能进入后一次提交,在这种情况下,提交号为4,而不知道它的SHA-1值?
1 2 3 4 5
HEAD
答案 0 :(得分:2)
这并不容易,因为Git没有任何方法可以引用“未来”提交(当3
签出时,没有现成的4
引用)。但是,如果我们在其中加入很多假设,我们可以创建一个shell怪物来做到这一点(为了清晰起见,避免使用缩写):
git checkout $(git rev-list --first-parent --reverse HEAD..master | head -1)
请注意,这仅在您当前签出的提交不是合并的一部分时才有效(只能通过合并提交的第二个父级访问)。我们可以让一个更大的怪物自动找到合适的合并提交,但是它会开始占用专用工具的大小......