命名为:UsrActivity.java
现在命名为:ProfileActivity
git diff没有显示Android Studio的并排差异窗口视图,而是显示单个当前类文件。
如何比较'OldBranch'的ProfileActivity.java
与'DevBranch'的UsrActivity.java
简而言之,如何比较分支上的两个独立文件。感谢
答案 0 :(得分:0)
使用torek提供的信息更新;不知道为什么他没有把这个作为答案发布,因为它比我概述的路径短得多;所以不要把它留在评论中,这里是:
git diff
可以处理两个BLOB
的标识符,标识BLOB
的简写是<commit>:<path>
。所以
git diff master:UsrActivity.java branch:ProfileActivity.java
(根据路径和提交标识的需要进行调整)。
原始回复
您可以提供两次提交,但只能提供一条路径。您可以提供两个路径,但是您无法指定提交。如果有办法为每个提交指定两个提交和不同的路径,我就不知道......所以我认为做你想做的事需要额外的工作。
一种方法是获取每个文件的对象ID(SHA)。对于签出文件,您可以说
git hash-object UsrActivity.java
要获取未检出的对象,您可以执行类似
的操作git log -n1 -raw --no-abbrev <commit-or-branch-containing-file> -- ProfileActivity.java
(可能有更简单的版本;我今天早上还没有多少咖啡因。)或者你当然可以查看一个包含第二个文件的提交(或者只是从这样的文件中查看该文件) ()并返回git hash-object
命令。
每个文件都有哈希值后,您只需说
即可git diff <file-1-hash> <file-2-hash>
当然,如果您最终将两个文件都检入到工作树中,那么您可以直接将它们区分开来
git diff UsrActivity.java ProfileActivity.java