什么`git checkout ...`做什么?

时间:2017-09-07 16:31:08

标签: git

我偶尔会不小心写this,这使我处于一个独立的头状态。我想知道为什么。这是"点故事":

push_impl

1 个答案:

答案 0 :(得分:48)

这是此语法的简并形式,在gitrevisions(7)手册页中描述:

   <rev1>...<rev2>
       Include commits that are reachable from either <rev1> or <rev2> but
       exclude those that are reachable from both. When either <rev1> or
       <rev2> is omitted, it defaults to HEAD.

注意最后一位,“省略<rev1><rev2>时,默认为HEAD”。这意味着写...等同于HEAD...HEAD。在git checkout中使用时,最终会评估HEAD的提交ID。也就是说,你只是在做:

git checkout HEAD^{commit}