我有 2 个分支,尚未准备好合并,但有一些补充逻辑,我想回顾一下(合并之前)
我可以查看同一个项目的多个 git 分支吗?可能吗?
git checkout --to=<path>
命令执行此操作。请参阅my answer below。
git worktree add <path>
。我已更新 my answer below。
您可以简单地将存储库复制到一个新位置(通过逐字复制目录或使用 git clone --shared
)并在每个位置签出一个分支。
您还可以使用 git-worktree
从存储库的单个实例创建多个工作目录。
否则,在合并之前比较分支之间的文件的主要方法是 git diff
。
在 Git 2.5+(2015 年第 2 季度)中,Git 存储库将支持 多个工作树 与 git worktree add <path>
(这将取代 contrib/workdir/git-new-workdir
)
那些“链接”的工作树实际上记录在主 repo new $GIT_DIR/worktrees
文件夹中(以便在任何操作系统上工作,包括 Windows)。
在“Multiple working directories with Git?”查看更多信息
是的,在适当的照顾下是可能的。但是,您正在使用 --work-tree=<path>
选项从常规 git 目录中“带走”一份副本,因此除非您特别告知,否则 git 不会看到其中的更改。我在这里举了一个例子 single-working-branch-with-git - 请参阅 UPDATED 段。
请注意,git-new-workdir
不适用于 Windows XP,因为它需要 Unix 样式的链接。
我想到的第一件事是在单独的项目中检查每个分支。所以: 1. 在主克隆 (1) 上签出分支 A 2. 创建新克隆 (2) 3. 在克隆 2 中签出分支 B
第二种方法可能是创建一个新分支(又名 C)并将分支 A 和 B 合并到它。如果它们是免费的,那么这可能有助于您的评论。
如前所述,您可以使用 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
来执行此操作。
不定期副业成功案例分享
--force
标志(-f
也可以).git
目录。所有其他工作树都有一个.git
file,其中包含以下内容:gitdir: /path/to/project/.git/worktrees/main
(main 是我给工作树起的名称),即它指向您的基础工作树git worktree
如何提出一组命令来管理这些工作树(move
、prune
、list
、...)——