2016-09-07 62 views
2

在Git中,你可以参考使用速记HEAD〜头之前提交,和两个使用HEAD〜2之前,等HEAD〜用于合并提交

我有了一个合并提交就像一个仓库以下内容:

A----B-------------F 
     \   /
     C----D----E 

HEAD = F,HEAD〜点B,和HEAD〜2点A.随着合并提交这样,有没有将指向到E的速记?

+0

您可以结帐到CDE分支和HEAD〜2更改 –

回答

6

是;在合并的情况下,~指定生成but you can use ^ to specify the parent number

git show HEAD^2 

将显示第二位家长。

(区别是特别微妙,因为没有一个数字参数都~^表现出同样的事情,的HEAD第一父,这是因为这两个~^默认1没有一个数值参数,所以他们表现出第一父亲(按深度)和第一个父母(按广度)当然是相同的。)

+0

哦,由于某种原因,我认为^和〜只是两种方法来做同样的事情。 – Dismissile

+0

@Dismissile你并不孤单,我以为一样:) – qzb

+0

对,它并不是非常明显,因为你通常只想看到直接的父母! :) –

1

我知道你问了提交E,但提交C的简写是一个更好的例子,和〜。

这里是C中的简写:

HEAD^2~2 

例如HEAD的第二个父母,然后2从那里跳下第一父母链。

尝试复制这种回购自己看看(找到“克隆”链接):

http://vm.bit-booster.com/bitbucket/plugins/servlet/bb_net/projects/BB/repos/a/commits

enter image description here

而这里的各种速记如何覆盖这个答案解析:

git show --no-patch --oneline HEAD 
1286a9a F 

git show --no-patch --oneline HEAD^2 
9640db6 E 

git show --no-patch --oneline HEAD^2~2 
506916b C 

为读者练习:另一种方式(使用这个回购)写HEAD^2〜3?

+0

答案:HEAD^2〜3在这个例子中与HEAD〜1相同:-) –