-3

我需要一次签出一个分支(可能是另一个在不同的时间)。为了使其最快,我正在执行以下步骤。

  1. git remote add -f origin <Repository address>(仅限第一次)

以及针对特定分支的后续提取

  1. git checkout -b branch localbranch

我们还有什么可以让这种方法更快吗?我对紧固第一步更感兴趣。

4

2 回答 2

1

我不确定我是否理解您的用例,因为您无法“签出”存储库中的特定文件夹。实际上,您的checkout命令会导致错误:

$ git checkout -b branch DestinationFolder
fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'dir1' which can not be resolved as commit?

如果您想克隆一个远程存储库并将其设置为一个特定的分支,您可以在命令中使用该-b标志:clone

$ git clone -b branch git://git.example.com/myrepository

origin这也将具有设置远程命名指向远程存储库的副作用。

于 2013-07-24T16:40:29.843 回答
1

您可以使用别名:

[alias]
    fastcheckout = !sh -c 'git remote add -f \"$1\"; git checkout -b \"$2\" \"$3\"' -

用法:

git fastcheckout <remote> <branch-name> <start-point>
于 2013-07-24T16:40:50.433 回答