我有一个脚本,在一个分支中运行良好,而在另一个分支上却被破坏。我想并排看两个版本,看看有什么不同。有办法做到这一点吗?
要清楚的是,我不是在寻找比较工具(我使用Beyond compare)。我正在寻找一个Gitdiff命令,该命令允许我将主版本与当前分支版本进行比较,以查看发生了什么变化。我没有在合并或其他事情中。我只是想说
git diff mybranch/myfile.cs master/myfile.cs
我有一个脚本,在一个分支中运行良好,而在另一个分支上却被破坏。我想并排看两个版本,看看有什么不同。有办法做到这一点吗?
要清楚的是,我不是在寻找比较工具(我使用Beyond compare)。我正在寻找一个Gitdiff命令,该命令允许我将主版本与当前分支版本进行比较,以查看发生了什么变化。我没有在合并或其他事情中。我只是想说
git diff mybranch/myfile.cs master/myfile.cs
当前回答
在我的情况下,我使用以下命令:
git diff <branch name> -- <file path + file name>
此命令可以帮助您比较两个不同分支中的同一文件。
其他回答
您可以这样做:git diff branch1:路径/to/file branch2:路径/to-file
如果已配置difftool,则还可以:git difftool branch1:路径/to/file branch2:路径/to-file
相关问题:如何使用首选的diff工具/查看器查看“gitdiff”输出?
为了比较Git Bash中的两个文件,您需要使用以下命令:
git diff <Branch name>..master -- Filename.extension
该命令将在Bash本身中显示两个文件之间的差异。
关于这些不同的比较方法,还有一个有趣的点:我想将当前分支中的文件与另一个分支中的相同文件进行比较。如果我使用
git difftool otherbranch.. filespec
我最后比较了两个文件,它们实际上在我的临时文件夹中。但是,如果我使用
git difftool otherbranch filespec
我最终将临时文件夹中的一个文件(其他分支上的版本)与Git文件夹中的实际文件进行了比较,这a)让我更容易分辨哪个是哪个,b)意味着我可以使用diff工具(在我的例子中是Beyond Compare 4)将更改从其他分支复制到当前分支。
我同意达尔比克的回答。如果希望将diff写入diff文件以进行代码检查,请使用以下命令。
git diff branch master -- filepath/filename.extension > filename.diff --cached
对于Visual Studio代码,我强烈建议扩展:
Git历史差异文档
您可以使用它在文件之间甚至分支之间进行两次比较!
在控制台中,您可以简单地使用以下命令:
git diff <Your_Branch> <Branch_To_Compare_With> -- myfile.cs