从我的git服务器中检出/克隆多个分支

时间:2019-02-11 22:39:51

标签: git git-branch git-worktree

我的git服务器上有这种情况:

git branch -a

给出输出:

  common_data
* master
  shared_data

如何在 SAME 时将shared_data和common_data分支检出到单独的本地文件夹中:

working_directory/common_data
working_directory/shared_data

在我的本地工作站上?我已经阅读了许多帖子,但是不知何故我无法使用work_tree。

谢谢

GT

1 个答案:

答案 0 :(得分:2)

一种选择是使用git的worktree功能。您只需克隆一次存储库:

git clone myserver:myrepo.git
cd my repo

然后,您可以使用git worktree将分支检出到特定目录。例如,要将您的feature/widget分支检出到../myrepo-widget目录中:

git worktree add ../myrepo-widget feature/widget

或者您的testing分支进入../myrepo-testing目录:

git worktree add ../myrepo-testing testing

或者,您可以多次克隆原始存储库:

git clone -b master myserver:myrepo.git myrepo
git clone -b feature/widget myserver:myrepo.git myrepo-widget
git clone -b testing myserver:myrepo.git myrepo-testing

这两种机制在大多数方面都将在功能上相同。第二个选项需要更多的存储空间,但是大多数git存储库都足够小,以至于多余的空间都不重要。