我有2个分支,尚未准备好合并,但有一些互补的逻辑,我想审查(合并前)
我可以查看同一项目的多个git分支吗?有可能吗?
答案 0 :(得分:52)
您只需将存储库复制到新位置(通过逐字复制目录或使用git clone --shared
)并检查每个位置的一个分支。
您还可以使用git-worktree
从存储库的单个实例创建多个工作目录。
否则,在合并之前比较分支之间文件的主要方法是git diff
。
答案 1 :(得分:9)
使用Git 2.5+(2015年第二季度),Git仓库将支持 git worktree add <path>
多个工作树(这将取代contrib/workdir/git-new-workdir
)
那些&#34;链接&#34;工作树实际上记录在主repo新$GIT_DIR/worktrees
文件夹中(以便在任何操作系统上工作,包括Windows)。
请参阅&#34; Multiple working directories with Git?&#34;
答案 2 :(得分:1)
我首先想到的是检查单独项目中的每个分支。 所以: 1.主要克隆上的结账分支A(1) 2.创建一个新的克隆(2) 3.克隆2中的结帐分支B
第二种方法可以是创建一个新的分支(又名C)并将分支A和B合并到它。 如果他们是免费的,这可能有助于您的审查。
答案 3 :(得分:1)
是的,可以通过适当的照顾。但是你使用--work-tree=<path>
选项从常规git目录中删除其中一个副本,因此除非你特别说明,否则git不会看到更改。我在这里给出了一个例子single-working-branch-with-git - 请参阅更新的细分。
请注意,git-new-workdir
在Windows XP上不起作用,因为它需要Unix样式链接。
答案 4 :(得分:-1)
如前所述,您可以使用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文档。
答案 5 :(得分:-1)
现在git
包含命令worktree
来完成该操作。