是否可以在同一个项目中同时查看多个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
来完成这个工作。