Git:比较分支之间的差异

git diff命令将允许您查看工作空间中的差异。可以多种方式使用它来查看文件中,一个分支中或两个分支之间的差异。

例如,您可以只运行git diff来查看当前工作空间中的差异。通过提供文件,您可以查看该文件中的差异。

要比较一个分支与另一个分支之间的差异,请使用“ ..”分隔分支名称。例如,要查看“主”分支的头部与要素分支的头部之间的差异,请使用此语法。

git diff main..feature_branch

这通常很嘈杂,尤其是在大型项目上,因此仅检查两个分支之间的一个目录,就可以将目录路径添加到命令中。

git diff main..feature_branch directory/to/compare

由这种差异产生的输出可以用作补丁文件。如果您需要执行此操作,则只需将输出通过管道传输到一个文件中,便可以使用补丁文件将对Feature分支所做的更改应用到main分支。

git diff main..feature_branch > feature.patch

您可以使用相同的语法查看两个分支之间不同的提交。这将显示已对一个分支进行的提交,但不显示对另一分支的提交。

git log main..feature_branch

这只会显示单个提交,因此要显示这些提交的某些上下文,您可以在log命令上使用一些标志以使提交具有一定的结构。

git log --oneline --graph --decorate --abbrev-commit main..feature_branch

需要注意的一件事是,使用'main..feature'会将一个分支的头部与另一个分支的头部进行比较。要显示要素分支的头部与从父分支分支的分支之间的区别,您需要使用三点(...)来分隔两个分支。

例如,这将显示对feature_branch分支的所有更改,因为它是从main分支分支出来的。

git diff main...feature_branch

最后,如果您使用的是双点比较或单点比较,请确保正确获得项目的顺序。通常,您希望将main / parent分支用作第一项,因为这将向您显示与父分支相比对Feature分支所做的任何删除和添加。这意味着,如果您从此差异创建补丁文件,则将应用正确的更改。

如果以相反的方式得到分支,那么您正在寻找变化的逆向。从本质上讲,是为了使功能分支看起来像父分支而需要对功能分支进行的更改。如果您使用双点比较创建一个来自此差异的补丁,然后将其应用于功能分支代码,则实际上该分支将重置为与父分支相同。

以上是 Git:比较分支之间的差异 的全部内容, 来源链接: utcz.com/z/331908.html

回到顶部