很抱歉,如果这个问题已经存在,我惊讶地找不到它 :/
如何在同一分支和相同提交中对两个文件执行git diff
?
例如:git diff fileA.php fileB.php
(最好使用易于阅读的颜色编码,就像git
提供的那样...或类似于BeyondCompare程序所做的!)
很抱歉,如果这个问题已经存在,我惊讶地找不到它 :/
如何在同一分支和相同提交中对两个文件执行git diff
?
例如:git diff fileA.php fileB.php
(最好使用易于阅读的颜色编码,就像git
提供的那样...或类似于BeyondCompare程序所做的!)
git diff
,可以使用 git diff --no-index <file_a> <file_b>
命令。这两个文件不需要在 git
中跟踪。--word-diff
会按单词而不是行来显示更改。 - user3148949diff
具有--color
选项,可能会有所帮助(请参见https://unix.stackexchange.com/a/338960)。但即使如此,如果使用`diff-so-fancy`,似乎仍需要`git diff的特定输出格式。
diff -u`(请参见https://dev59.com/3W445IYBdhLWcg3wcJ6O#4857407)无法正常工作。 - kelvin不需要使用git,只需使用diff fileA.php fileB.php
(或者如果你想要并排比较则使用vimdiff)。
vimdiff
很棒!谢谢! - d-_-bdiff fileA fileB
而不是 git diff fileA fileB
。 - Matthew Hineagit diff <revision_1>:<file_1> <revision_2>:<file_2>
如此记录在这里: https://dev59.com/UHA75IYBdhLWcg3wW3sZ#3343506
在您的情况下(为两个文件指定相同版本):
git diff <revisionX>:fileA.php <revisionX>:fileB.php
git add
两个目录后, git diff --name-only HEAD:dir1 HEAD:dir1_backup
就能够工作。 - Frank Fortediff -burN file_or_dir1 file_or_dir2
(其中-b
忽略空格,-u
统一差异,-r
递归,-N
将缺失的文件视为/dev/null
。)
它的工作非常出色,但仍然没有颜色和类似于git风格的自动分页功能几乎不存在。如果你想同时解决这两个问题(我是这样做的),请安装colordiff
并像这样使用它:
colordiff -burN file_or_dir1 file_or_dir2 | less -R
这将提供非常接近实际 git diff
的输出和界面。
colordiff
而点赞,我最近学到了它,但总是忘记使用它。 - Hashim Azizdiff fileA.php fileB.php
只需使用常规的差异比较工具即可。
diff -Nua fileA.php fileB.php