Git:如何签出新创建的远程分支?

时间:2018-09-01 16:34:51

标签: git

每6个月为Drupal 8创建一个新的次要版本分支,但默认分支保留为先前的分支。例如,现在默认分支为8.6.x,最新分支为8.7.x。

git clone --depth 1 git@git.drupal.org:project/drupal.git

上面的命令克隆了默认分支,即8.6.x,但我想克隆新创建的远程分支,即8.7.x

git clone --depth 1 --branch $NEWEST_BRANCH git@git.drupal.org:project/drupal.git

是否可以将NEWEST_BRANCH动态设置为新创建的远程分支?

1 个答案:

答案 0 :(得分:1)

  

是否可以将NEWEST_BRANCH动态设置为新创建的远程分支?

不在Git本身之内,不,不存在“新创建”的概念。此外,尽管有些人可能使用some variant of semantic versioning,但并不是每个人都使用(还有valid arguments against the concept in the first place)。从本质上讲,甚至很难知道什么是“最新的”。

(注意:“远程分支”一词也不是一个很好的词,只是因为Git通过使通常称为“远程分支”的本地实体代替更准确的远程跟踪分支名称,或我的首选短语,远程跟踪名称。在这种情况下,您只是在指定的上表示“最新”或“最新”。其他Git存储库。)

对于此特定问题,我可能建议使用以下任一方法:

  1. 运行git ls-remote,然后使用它来选择特定的分支。然后,您可以使用git clone -b <name> --depth 1

  2. 运行git clone --depth 1 --no-single-branch:您将获得许多depth-1远程跟踪名称,每个远程分支上都有一个。然后,您可以细读它们,并git checkout任意选择一个。

方法1的劳动强度更高,但是我将8.6.x(此特定测试的实时时间大约为10秒)与--no-single-branch(实时的大约30秒)进行了定时克隆,因此您可能更喜欢使用它自动化的东西。