java JGit签出上一次提交
如何让JGit签出其父级?例如,如果我在主分支上遇到如下情况:
c815b27 newestCommit (HEAD -> master, origin/master, master)
e46dcaf previousCommit
b2d6867 previousPreviousCommit
我想从JGit调用一个命令,它看起来像:
git.checkout().setName("c815b27~").call();
并将导致头部移动到提交e46dcaf
的状态:
c815b27 newestCommit (origin/master, master)
e46dcaf previousCommit (HEAD)
b2d6867 previousPreviousCommit
然而,当我调用上面的checkout语句时,什么也没有发生。我还遇到了以下陈述,这也不会改变我的想法:
git.checkout().setStartPoint("c815b27~").call();
如何实现基于波浪号(~)或插入符号(^)的上一次提交,以及JGITAPI是否可行
# 1 楼答案
首先,需要解析指向上一次提交的表达式。然后可以签出结果提交id
例如:
请注意,签出提交detaches HEAD