我有一个脚本,在一个分支中运行良好,而在另一个分支上却被破坏。我想并排看两个版本,看看有什么不同。有办法做到这一点吗?

要清楚的是,我不是在寻找比较工具(我使用Beyond compare)。我正在寻找一个Gitdiff命令,该命令允许我将主版本与当前分支版本进行比较,以查看发生了什么变化。我没有在合并或其他事情中。我只是想说

git diff mybranch/myfile.cs master/myfile.cs

当前回答

我同意达尔比克的回答。如果希望将diff写入diff文件以进行代码检查,请使用以下命令。

git diff branch master -- filepath/filename.extension > filename.diff --cached

其他回答

更现代的语法:

git diff ..master path/to/file

双点前缀表示“从当前工作目录到”。你也可以说:

主人即与上述相反。这与master相同。我的分支。。master,显式引用当前工作树以外的状态。v2.0.1..master,即引用标记。[参考规范]。。[refspec],基本上是Git的代码状态。

最好的方法是按以下方式使用gitdiff:

git diff<source_branch><target_branch>--文件路径

它将检查这些分支中文件之间的差异。查看本文,了解有关Git命令及其工作方式的更多信息。

您可以这样做:git diff branch1:路径/to/file branch2:路径/to-file

如果已配置difftool,则还可以:git difftool branch1:路径/to/file branch2:路径/to-file

相关问题:如何使用首选的diff工具/查看器查看“gitdiff”输出?

使用提交哈希如下:

git diff <hash1> <hash2> <filename>

其中hash1可以是来自任何分支的任何提交,hash2也是如此。

为了比较Git Bash中的两个文件,您需要使用以下命令:

git diff <Branch name>..master -- Filename.extension

该命令将在Bash本身中显示两个文件之间的差异。