是否可以在同一个项目中同时查看多个git分支?

我有2个分支,还没有准备好合并,但有一些互补的逻辑,我想审查(在合并之前)

我可以检出同一个项目的多个git分支吗? 可能吗?

您可以简单地将存储库复制到一个新的位置(通过字面上复制目录,或使用git clone --shared ),并检查每个位置的一个分支。

您也可以使用git-worktree从一个存储库的单个实例创build多个工作目录。

否则,合并之前比较分支之间文件的主要方法是git diff

使用Git 2.5+(2015年第二季度),Git回购将支持使用git worktree add <path> (并将replacecontrib/workdir/git-new-workdir )的多个工作树

这些“链接”的工作树实际上logging在主要的$GIT_DIR/worktrees$GIT_DIR/worktrees文件夹(以便在任何操作系统,包括Windows上工作)。

查看更多“ 使用Git的多个工作目录?

首先让我想起在单独的项目上签出每个分支。 所以:1.在主克隆(1)上签出分支A 2.创build一个新克隆(2)3.在克隆2中签出分支B.

第二种方法可能是创build一个新的分支(又名C),并将分支A和B合并到它。 如果他们是免费的,这可能有助于您的审查。

是的,可以适当谨慎。 然而,你正在使用--work-tree=<path>选项从正常的git目录中取出其中一个副本,所以git中的更改将不会被git看到,除非你特意告诉它。 我在这里给出了一个例子single-working-branch-with-git – 参见UPDATED段。

请注意, git-new-workdir在Windows XP上不起作用,因为它需要Unix样式的链接。

如前所述,你可以用git diff来分支分支:

 git diff [--options] <commit> [--] [<path>…] This form is to view the changes you have in your working tree relative to the named <commit>. You can use HEAD to compare it with the latest commit, or a branch name to compare with the tip of a different branch. 

上面的摘录来自Git文档。

现在git包含了命令worktree来完成这个工作。