程序员社区

Git系列教程 --- 33、Git Diff命令详解

Git diff 是一个命令行实用程序。这是一个多用途的 Git 命令。当它被执行时,它会在 Git 数据源上运行一个 diff 函数。这些数据源可以是文件、分支、提交等。它用于显示提交、提交和工作树等之间的更改。

它比较了不同版本的数据源。版本控制系统代表处理文件的修改版本。因此,diff 命令是使用 Git 的有用工具。

但是,我们也可以在带有选项 -p 的 git log 命令的帮助下跟踪更改。git log 命令也可以用作 git diff 命令。

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

Scenerio1:跟踪尚未上演的更改。

通常使用 git diff 命令,我们可以跟踪尚未上演的更改。

假设我们已经编辑了 newfile1.txt 文件。现在,我们要跟踪哪些更改尚未上演。然后我们可以从 git diff 命令中这样做。考虑以下输出:

file

从上面的输出中,我们可以看到 git diff 命令显示了对 newfile1.txt 所做的更改。正如我们将其编辑为“进行了更改以理解 git diff 命令”。因此,输出显示其内容的变化。上述输出中突出显示的部分是更新文件中的更改。现在,我们可以通过预览更改来决定是否要像这样暂存此文件。

Scenerio2:跟踪已上演但未提交的更改:

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

要检查未跟踪的文件,请按以下方式运行 git status 命令:

$ git status  

上面的命令将显示存储库中未跟踪的文件。现在,我们将其添加到暂存区。要将文件添加到暂存区,请运行 git add 命令,如下所示:

$ git add < file name>  

上面的命令会将文件添加到暂存区。考虑以下输出:

file

现在,文件已添加到暂存区,但尚未提交。因此,我们也可以跟踪暂存区的变化。要检查暂存更改,请运行 git diff 命令和--staged选项。它将用作:

$ git diff --staged   

上述命令将显示已暂存文件的更改。考虑以下输出:

file

给定的输出显示已暂存的 newfile1.txt 的更改。

Scenerio3:提交文件后跟踪更改:

Git,让我们在提交文件后跟踪更改。假设我们已经为存储库提交了一个文件,并在提交后进行了一些额外的更改。所以我们也可以在这个阶段跟踪文件。

在下面的输出中,我们提交了对 newfile1.txt 所做的更改。考虑以下输出:

file

现在,我们再次将 newfile.txt 文件更改为“提交文件后进行更改”。要跟踪此文件的更改,请运行带有HEAD参数的 git diff 命令。它将按如下方式运行:

$ git diff HEAD  

上面的命令将在终端中显示更改。考虑以下输出:

file

上面的命令在突出显示的部分显示文件 newfile1.txt 的更新。

场景 4:跟踪两次提交之间的更改:

我们可以跟踪两个不同提交之间的更改。Git 允许我们跟踪两次提交之间的更改,无论是最新提交还是旧提交。但是这样做的必要条件是我们必须有一个提交列表,以便我们可以进行比较。在 git log 命令中列出提交的常用命令。要显示最近的提交,我们可以运行以下命令:

$ git log  

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

假设,我们要跟踪较早提交中指定的更改。为此,我们必须需要该指定文件的提交。要显示任何指定的提交,请运行 git log 命令:

$ git log -p --follow -- filename  

上面的命令将显示指定文件的所有提交。考虑以下输出:

file

上面的输出显示了 newfile1.txt 的所有提交。假设我们要跟踪提交e553fc08cbf1ddc7c9e7之间的更改。git diff 命令可以跟踪两次提交之间的更改。它将被命令为:

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

上面的命令将显示两次提交之间的更改。考虑以下输出:

file

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

Git Diff 分支

Git 允许比较分支。如果您是分支高手,那么您可以理解在合并之前分析分支的重要性。如果合并分支而不进行比较,可能会出现许多冲突。因此,为了避免这些冲突,Git 允许使用许多方便的命令来预览、比较和编辑更改。

我们可以使用 git status 命令跟踪分支的变化,但更多的命令可以详细解释它。git diff 命令是一种广泛使用的工具来跟踪更改。

git diff 命令允许我们比较不同版本的分支和存储库。要获取分支之间的差异,请按如下方式运行 git diff 命令:

$ git diff <branch 1> < branch 2>  

上面的命令将显示分支1和分支2之间的差异。以便您决定是否要合并分支。考虑以下输出:

file

上面的输出显示了我的存储库分支testtest2之间的差异。git diff 命令提供两个分支的预览。因此,在分支上执行任何操作都会很有帮助。****

赞(0) 打赏
未经允许不得转载:IDEA激活码 » Git系列教程 --- 33、Git Diff命令详解

一个分享Java & Python知识的社区