我在我的仓库中有两个分支,我来回编辑,并将一个变化合并到另一个。但在合并之前,我想检查哪些更改正在合并以及什么被替换为什么,但是demo和master中的文件很少,这些文件本身就彼此不同而且它们将永远不同。这就是2个不同分支的原因。所以我倾向于使用git checkout --patch demo
将代码从演示分支拉入master。但这会不必要地检查所有文件
我是否有可能以交互方式检查来自2个分支的特定文件,而不是检查整个分支?
关于Git上的补丁方法的文档很少。我希望有人可以为我解决这个问题。
答案 0 :(得分:1)
与工作目录交互的大多数Git命令允许您将命令限制为某个路径。这通常在命令结束时完成,由分隔--
表示。许多命令也接受没有该分隔符的路径,但有时必须避免路径和分支名称(或树形结构)之间的歧义。
因此,在您的情况下,您可以使用the synopsis of the git checkout
command中提到的
git checkout [-p|--patch] [<tree-ish>] [--] [<paths>…]
运行git checkout --patch demo -- path/to/file
应该适用于您的情况,以限制checkout命令仅适用于该文件路径,即使使用活动的--patch
模式。
顺便说一下,path/to/file
部分也可以是目录的路径,这将使该命令针对该目录中的所有文件运行。