1

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

git branch -a

给出输出:

  common_data
* master
  shared_data

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

working_directory/common_data
working_directory/shared_data

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

谢谢

燃气轮机

4

1 回答 1

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 存储库都足够小,因此额外的空间是无关紧要的。

于 2019-02-11T22:46:10.700 回答