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

从我的git服务器签出/克隆多个分支,git,git-branch,git-worktree,Git,Git Branch,Git Worktree,我的git服务器上有以下场景: git branch -a 给出输出: common_data * master shared_data 如何在相同的时间将分支共享的_数据和公共_数据签出到单独的本地文件夹中: working_directory/common_data working_directory/shared_data 在我的本地工作站上?我读过很多帖子,但不知怎的,我不知道如何使用工作树 谢谢 GT一个选项是使用git的工作树功能。您只需克隆存储库一次: git clo

我的git服务器上有以下场景:

git branch -a
给出输出:

  common_data
* master
  shared_data
如何在相同的时间将分支共享的_数据和公共_数据签出到单独的本地文件夹中:

working_directory/common_data
working_directory/shared_data
在我的本地工作站上?我读过很多帖子,但不知怎的,我不知道如何使用工作树

谢谢


GT

一个选项是使用git的
工作树
功能。您只需克隆存储库一次:

git clone myserver:myrepo.git
cd my repo
然后可以使用
git-worktree
将分支签出到特定目录中。例如,要签出
功能/widget
分支到
。/myrepo widget
目录:

git worktree add ../myrepo-widget feature/widget
git worktree add ../myrepo-testing testing
或者您的
测试
分支到
。/myrepo测试
目录:

git worktree add ../myrepo-widget feature/widget
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存储库都足够小,因此额外的空间无关紧要