我见过git命令使用的语法如此HEAD~,但我无法在Git 参考手册中找到这种语法.
这是我所理解的:<commit>~<n>指的是<commit>之前的提交<n>步骤(其中<n>是一个整数),并且只是意味着相同而且<n>隐含地是一个.commit~
现在,这是对的吗?在那种情况下,这总是有效吗?如果<commit>是两个分支之间合并的结果,那么提交将<commit>~引用什么?是否有一些相应的语法用于引用下一个提交或稍后提交<n>步骤?
cex*_*yat 19
你在Pro Git的Acenstry References章节中有一个非常明确的解释:
~ 用来获得第一个父母.^可用于获取其他父项(^2例如,合并).但是你没有一种简单的方法来引用下一次提交,即使有更复杂的方法来获取它.
Hub*_* OG 14
简单地回答标题中的问题(因为那是我从谷歌那里得到的):
要签出以前的提交:
git checkout HEAD^
Run Code Online (Sandbox Code Playgroud)
检查下一次提交(假设没有分支):
git checkout `git log --reverse --ancestry-path HEAD..master | head -n 1 | cut -d \ -f 2`
Run Code Online (Sandbox Code Playgroud)
受@ cexbrayat的回答启发,我发现以这种方式思考它很有用:
如何引用提交的祖先中的某些内容,其中提交可以有多个父项:
^n 指定哪个父项
~n 指定哪一代
两者都默认为一个.
| 归档时间: |
|
| 查看次数: |
9696 次 |
| 最近记录: |