Git教程
Git基础
Git 操作

Git Diff

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
从上面的输出中,我们可以看到对git diff命令显示newfile1.txt。正如我们将其编辑为"进行了一些更改以了解git diff命令"。因此,输出将显示更改及其内容。上面输出中突出显示的部分是更新文件中的更改。现在,我们可以通过预览更改来决定是否要像这样暂存此文件。
场景2: 跟踪已暂存但尚未提交的更改:
使用git diff命令可以跟踪已暂存但未提交的更改。我们可以跟踪登台区域中的更改。要检查已经暂存的更改,请使用--staged选项和git diff命令。
要检查未跟踪的文件,请运行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
以上输出显示了对所做的所有更改newfile1.txt 从提交 e553fc08cb (最新)到提交 f1ddc7c9e7 (先前)。

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命令提供两个分支的预览。因此,对分支执行任何操作将很有帮助。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4