我需要一次签出一个分支(可能是另一个在不同的时间)。为了使其最快,我正在执行以下步骤。
git remote add -f origin <Repository address>
(仅限第一次)
以及针对特定分支的后续提取
git checkout -b branch localbranch
我们还有什么可以让这种方法更快吗?我对紧固第一步更感兴趣。
我需要一次签出一个分支(可能是另一个在不同的时间)。为了使其最快,我正在执行以下步骤。
git remote add -f origin <Repository address>
(仅限第一次)以及针对特定分支的后续提取
git checkout -b branch localbranch
我们还有什么可以让这种方法更快吗?我对紧固第一步更感兴趣。
我不确定我是否理解您的用例,因为您无法“签出”存储库中的特定文件夹。实际上,您的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
这也将具有设置远程命名指向远程存储库的副作用。
您可以使用别名:
[alias]
fastcheckout = !sh -c 'git remote add -f \"$1\"; git checkout -b \"$2\" \"$3\"' -
用法:
git fastcheckout <remote> <branch-name> <start-point>