Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让git diff自动比较新旧版本?_Git_Git Diff - Fatal编程技术网

让git diff自动比较新旧版本?

让git diff自动比较新旧版本?,git,git-diff,Git,Git Diff,假设我有2个提交,初始提交是我的初始提交,添加了文件,我在其中添加了一个文件 git diff <initial_commit> <added_file> git-diff git将向我显示添加了一个文件,但是,我经常混淆应该以什么顺序输入git diff的提交,并经常以 git diff <added_file> <initial_commit> git-diff 然后看起来像是一个文件被删除了。我完全知道git只是在做我要求它做的事情,

假设我有2个提交,初始提交是我的初始提交,添加了文件,我在其中添加了一个文件

git diff <initial_commit> <added_file>
git-diff
git将向我显示添加了一个文件,但是,我经常混淆应该以什么顺序输入git diff的提交,并经常以

git diff <added_file> <initial_commit>
git-diff
然后看起来像是一个文件被删除了。我完全知道git只是在做我要求它做的事情,但我的问题是,我是否有办法告诉git“弄清楚”哪一个提交是较早的提交,并始终进行比较较早的提交和较新的提交的差异?
我阅读了手册页,但没有发现任何内容,但我承认我没有太多阅读这些内容的经验,因此我可能错过了它

你很难分辨哪个是“新的”,因为一个人可能不是孩子的父母。但是这些信息在差异的顶端

amb@nimrod-ubuntu:~/git-publish/git-publish$ git diff remotes/origin/master remotes/github/master
diff --git a/git-publish b/git-publish
index 96f05d3..38d4200 100755
--- a/git-publish
+++ b/git-publish

这告诉您的是,如果您将第一个参数调用为
git diff
a
,将第二个参数调用为
b
,那么补丁就是将
a
转换为
b
,即标记为
-
的行位于
a
中并被删除,添加了一行标记为
+
的代码在
b
中。

这并不是那么简单,因为提交可以在不同的分支上。因此,不需要“父提交”。这是一个公平的观点,我意识到可能没有解决我的问题的方法:)