Git – Diff命令

Git diff 是一个命令行工具。它是一个多用途的Git命令。当它被执行时,它会对Git数据源运行一个差异函数。这些数据源可以是文件、分支、提交等等。它被用来显示提交、提交和工作树之间的变化等。

它对数据源的不同版本进行比较。版本控制系统代表着与文件的修改版本一起工作。因此,diff命令是使用Git工作的一个有用工具。

然而,我们也可以在git log命令的帮助下,用选项-p来跟踪这些变化。git log命令也可以作为git diff命令工作。

让我们了解一下我们可以利用git diff命令的不同场景。

场景1:追踪那些没有被分阶段的变化

通常使用git diff命令,我们可以跟踪那些没有被分阶段的修改。

假设我们已经编辑了newfile1.txt文件。现在,我们想跟踪哪些修改还没有被分阶段。那么我们可以通过git diff命令来实现。考虑一下下面的输出。

Git Diff

从上面的输出中,我们可以看到,对newfile1.txt所做的修改是由git diff命令显示的。因为我们已经把它编辑成 “为了理解git diff命令而做的修改”。所以,输出显示的是变化及其内容。上述输出中的高亮部分是更新后的文件中的变化。现在,我们可以通过预览这些变化来决定是否要把这个文件变成这样。

场景2:追踪那些已经分期但未提交的修改

git diff 命令允许我们跟踪那些已经暂存但未提交的修改。我们可以跟踪暂存区的变化。要检查已经暂存的修改,可以在使用git diff命令的同时使用-staged选项。

要检查未跟踪的文件,运行git status命令,如。

$ git status

上面的命令将显示版本库中未被追踪的文件。现在,我们要把它添加到暂存区。要把文件添加到暂存区,请运行git add命令。

$ git add < file name>

上述命令将在暂存区添加该文件。考虑一下下面的输出。

Git Diff

现在,文件被添加到了暂存区,但它还没有提交。所以,我们也可以跟踪暂存区的变化。要检查暂存区的变化,可以在运行git diff命令时加上-staged选项。它将被用作。

$ git diff --staged

上述命令将显示已经分档的文件的变化。请看下面的输出。

Git Diff

给出的输出显示的是newfile1.txt的变化,它已经被分流了。

场景3:追踪提交文件后的变化

Git,让我们跟踪提交文件后的变化。假设我们为仓库提交了一个文件,并在提交后做了一些额外的修改。所以我们也可以在这个阶段跟踪该文件。

在下面的输出中,我们已经提交了对newfile1.txt的修改。请看下面的输出。

Git Diff

现在,我们又把newfile.txt文件改成了 “提交文件后进行更改”。为了跟踪这个文件的变化,运行带有 HEAD 参数的 git diff 命令。它将运行如下。

 $ git diff HEAD

上述命令将在终端显示这些变化。请看下面的输出。

Git Diff

上述命令在高亮部分显示了文件newfile1.txt的更新。

场景4:追踪两个提交之间的变化

我们可以跟踪两个不同提交之间的变化。Git 允许我们跟踪两个提交之间的变化,无论是最新的提交还是旧的提交。但这样做的要求是,我们必须有一个提交的列表,以便于我们比较。通常列出提交的命令是git log命令。要显示最近的提交,我们可以运行该命令为。

$ git log

上述命令将列出最近的提交。

假设,我们想跟踪一个指定的文件从早期提交开始的变化。要做到这一点,我们必须需要该指定文件的提交信息。要显示任何指定文件的提交,请运行git log命令。

$ git log -p --follow -- filename

上述命令将显示指定文件的所有提交。请看下面的输出。

Git Diff

上面的输出显示的是newfile1.txt的所有提交。假设我们想追踪 e553fc08cb 和 f1ddc7c9e7 两个提交之间的变化。git diff 命令可以跟踪两个提交之间的变化。它的命令是

$ git diff <commit1-sha> <commit2-sha>

上述命令将显示两个提交之间的变化。请看下面的输出。

Git Diff

上面的输出显示了从提交e553fc08cb(最近的)到提交f1ddc7c9e7(之前的)对newfile1.txt的所有修改。

Git Diff 比较分支差异

Git 允许比较各分支。如果你是分支管理的高手,那么你可以理解在合并前分析分支的重要性。如果你在没有比较的情况下合并分支,会产生很多冲突。所以为了避免这些冲突,Git 允许许多方便的命令来预览、比较和编辑修改。

我们可以用git status命令来跟踪分支的变化,但还有几个命令可以详细说明。git diff命令是一个广泛使用的跟踪变化的工具。

git diff 命令允许我们比较不同版本的分支和仓库。要获得各分支之间的差异,运行git diff命令如下。

$ git diff <branch 1> < branch 2>

上述命令将显示分支1和分支2之间的差异。这样,你就可以决定是否要合并分支。请看下面的输出。

Git Diff

上面的输出显示了我的版本库分支 test 和 test2 之间的差异。git diff 命令给出了两个分支的预览。所以,这对在分支上执行任何操作都是有帮助的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程