Git diff是一个命令行实用程序。这是一个多用途的Git命令。执行它时,它将在Git数据源上运行diff函数。这些数据源可以是文件,分支,提交等。它用于显示提交,提交和工作树等之间的更改。
它比较了不同版本的数据源。版本控制系统代表使用文件的修改版本。因此,diff命令是使用Git的有用工具。
但是,我们也可以在带有选项-p的git log命令的帮助下跟踪更改。 git log命令也可以用作git diff命令。
让我们了解可以使用git diff命令的不同方案。
场景1:跟踪尚未执行的更改。
git diff命令的通常用法是,我们可以跟踪尚未上演的更改。
假设我们已经编辑了newfile1.txt文件。现在,我们要跟踪尚未进行的更改。然后,我们可以从git diff命令执行此操作。考虑以下输出:
从上面的输出中,我们可以看到git diff命令显示了对newfile1.txt的更改。正如我们将其编辑为"changes are made to understand the git diff command"。因此,输出将显示更改及其内容。上面输出中突出显示的部分是更新文件中的更改。现在,我们可以通过预览更改来决定是否要像这样暂存此文件。
场景2:跟踪尚未提交的更改
git diff命令允许我们跟踪已暂存但未提交的更改。我们可以跟踪登台区域中的更改。要检查已经暂存的更改,请使用--staged选项和git diff命令。
要检查未跟踪的文件,请按以下方式运行git status命令:
$ git status
上面的命令将显示存储库中未跟踪的文件。现在,我们将其添加到暂存区域。要将文件添加到暂存区域,请运行git add命令,如下所示:
$ git add < file name>
上面的命令会将文件添加到暂存区域中。考虑以下输出:
现在,该文件已添加到暂存区域,但尚未提交。因此,我们也可以跟踪过渡区域中的变化。要检查分段的更改,请运行git diff命令以及-staged 选项。它将用作:
$ git diff --staged
上面的命令将显示已经暂存的文件的更改。考虑以下输出:
链接:https://www.learnfk.comhttps://www.learnfk.com/git/git-diff.html
来源:LearnFk无涯教程网
给定的输出将显示已暂存的newfile1.txt的更改。
场景3:提交文件后跟踪更改:
Git,让我们在提交文件后跟踪更改。假设我们已经为存储库提交了一个文件,并在提交之后进行了一些更改。因此,我们也可以在此阶段跟踪文件。
在以下输出中,我们落实了对newfile1.txt所做的更改。考虑以下输出:
现在,我们再次更改了newfile.txt文件,其内容为"Changes are made after committing the file"。要跟踪此文件的更改,请使用 HEAD 参数运行git diff命令。它将运行如下:
$ git diff HEAD
上面的命令将显示终端中的更改。考虑以下输出:
上面的命令在突出显示的部分上显示文件newfile1.txt的更新。
方案4:跟踪两次提交之间的更改:
我们可以跟踪两个不同提交之间的更改。 Git允许我们跟踪两次提交之间的更改,无论是最新提交还是旧提交。但这需要做的是,我们必须有一个提交列表,以便我们可以进行比较。在git log命令中列出提交的常用命令。要显示最近的提交,我们可以运行以下命令:
$ git log
上面的命令将列出最近的提交。
假设我们想跟踪先前提交中指定的更改。为此,我们必须提交该指定文件。要显示任何指定的提交,请运行git log命令,如下所示:
$ git log -p --follow -- filename
上面的命令将显示指定文件的所有提交。考虑以下输出:
上面的输出显示了newfile1.txt的所有提交。假设我们要跟踪 e553fc08cb 和 f1ddc7c9e7 之间的更改。 git diff命令可以跟踪两次提交之间的更改。命令如下:
$ git diff <commit1-sha> <commit2-sha>
上面的命令将显示两次提交之间的更改。考虑以下输出:
上面的输出显示了对 newfile1.txt 的所有更改,从提交 e553fc08cb (最新)到提交 f1ddc7c9e7 (先前)。
Git允许比较分支。如果合并分支而不比较分支,则会产生许多冲突。因此,为避免这些冲突,Git允许许多方便的命令来预览,比较和编辑更改。
我们可以使用git status命令来跟踪分支的变化,但是很少有命令可以详细解释它。 git diff命令是用于跟踪更改的广泛使用的工具。
git diff命令允许我们比较分支和存储库的不同版本。要获得分支之间的差异,请按以下方式运行git diff命令:
$ git diff <branch 1> < branch 2>
上面的命令将显示分支1和分支2之间的差异。因此,您可以决定是否要合并分支。考虑以下输出:
上面的输出显示了我的存储库分支 test 和 test2 之间的差异。 git diff命令提供两个分支的预览。因此,对分支执行任何操作将很有帮助。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)