我有一个脚本在一个分支上运行正常,在另一个分支上却出现问题。我想将这两个版本并排比较,看看有什么不同之处。有没有办法可以做到这一点?
明确一下:我不是在寻找比较工具(我使用的是Beyond Compare)。我正在寻找Git diff命令,以便将主版本与当前分支版本进行比较,查看有哪些变化。我也没有处于合并过程中或者其他任何情况。我只是想说类似于:
git diff mybranch/myfile.cs master/myfile.cs
我有一个脚本在一个分支上运行正常,在另一个分支上却出现问题。我想将这两个版本并排比较,看看有什么不同之处。有没有办法可以做到这一点?
明确一下:我不是在寻找比较工具(我使用的是Beyond Compare)。我正在寻找Git diff命令,以便将主版本与当前分支版本进行比较,查看有哪些变化。我也没有处于合并过程中或者其他任何情况。我只是想说类似于:
git diff mybranch/myfile.cs master/myfile.cs
请使用提交哈希值作为以下格式:
git diff <hash1> <hash2> <filename>
hash1 可以是任何分支的任何提交,hash2 同理。
对于这些不同的比较方式,还有一个有趣的点:我想将当前分支中的文件与另一个分支中的相同文件进行比较。如果我使用
git difftool otherbranch.. filespec
我最终比较了两个文件,它们实际上位于我的临时文件夹中。但是,如果我使用
git difftool otherbranch filespec
我最终将我的临时文件夹中的文件(即otherbranch分支上的版本)与Git文件夹中的实际文件进行比较,这样做有两个好处:a)更容易区分它们之间的差异;b)可以使用diff工具(在我的情况下是Beyond Compare 4)将其他分支中的更改复制到当前分支。
git diff
:
git diff <source_branch> <target_branch> -- file_path
它将检查这些分支中的文件差异。请参阅此文章以获取有关Git命令及其工作方式的详细信息:Git commands。git diff <Branch name>..master -- Filename.extension