git同时在两个分支上工作

nam*_*ame 154 git branch

我有一个有很多分支的项目.

我想同时在几个分支上工作而不用来回切换git checkout.

除了在其他地方复制整个存储库之外,我有什么方法可以做到这一点?

Von*_*onC 137

Git 2.5 +(2015年第2季度)将支持该功能:一旦克隆了git repo,您​​就可以使用new命令检出不同路径中的多个分支git worktree add <path> [<branch>].

这取代了较旧的脚本contrib/workdir/git-new-workdir,具有更强大的机制,其中这些"链接"工作树实际上记录在主repo新$GIT_DIR/worktrees文件夹中(以便在任何操作系统上工作,包括Windows).

同样,一旦你克隆了一个repo(在一个像这样的文件夹中/path/to/myrepo),你可以在不同的独立路径(/path/to/br1,/path/to/br2)中为不同的分支添加工作树,同时将那些工作树链接到主repo历史(不再需要使用--git-dir选项)

在" 使用Git多个工作目录? "中查看更多信息.

一旦你创建了一个工作树,就可以移动或移除它(使用Git 2.17 +,Q2 2018).

  • 这应该是新接受的答案,因为 2.5.X 现在是推荐版本,即使对于 windows http://i.imgur.com/oQvUhVl.png https://git-scm.com/download/win (2认同)

Ste*_*äwe 39

看看$ GIT_SRC_DIR/contrib/workdir/git-new-workdir.

一个简单的脚本,用于创建使用符号链接指向现有存储库的工作目录.这允许在不同的工作目录中具有不同的分支,但是都来自相同的存储库.

  • @Stefan,这是自滑面包以来最酷的事情. (4认同)
  • 我知道这已经过时了,但请你提供一些解释. (2认同)