Git diff是一个命令行实用程序。这是一个多用途的Git命令。执行它时, 它将在Git数据源上运行diff函数。这些数据源可以是文件, 分支, 提交等。它用于显示提交, 提交和工作树等之间的更改。
它比较了不同版本的数据源。版本控制系统代表使用文件的修改版本。因此, diff命令是使用Git的有用工具。
但是, 我们也可以在带有选项-p的git log命令的帮助下跟踪更改。 git log命令也可以用作git diff命令。
让我们了解可以使用git diff命令的不同方案。
Scenerio1:跟踪尚未暂存的更改。
git diff命令的通常用法是, 我们可以跟踪尚未上演的更改。
假设我们已经编辑了newfile1.txt文件。现在, 我们要跟踪尚未进行的更改。然后, 我们可以从git diff命令执行此操作。考虑以下输出:
从上面的输出中, 我们可以看到git diff命令显示了对newfile1.txt所做的更改。正如我们将其编辑为“进行了一些更改以了解git diff命令”。因此, 输出将显示更改及其内容。上面输出中突出显示的部分是更新文件中的更改。现在, 我们可以通过预览更改来决定是否要像这样暂存此文件。
Scenerio2:跟踪已上演但尚未落实的更改:
git diff命令允许我们跟踪已暂存但未提交的更改。我们可以跟踪登台区域中的更改。要检查已经暂存的更改, 请使用–staged选项和git diff命令。
要检查未跟踪的文件, 请按以下方式运行git status命令:
$ git status
上面的命令将显示存储库中未跟踪的文件。现在, 我们将其添加到暂存区域。要将文件添加到暂存区域, 请运行git add命令, 如下所示:
$ git add < file name>
上面的命令会将文件添加到暂存区域中。考虑以下输出:
现在, 该文件已添加到暂存区域, 但尚未提交。因此, 我们还可以跟踪过渡区域中的变化。要检查已分阶段的更改, 请运行git diff命令以及–staged选项。它将用作:
$ git diff --staged
上面的命令将显示已经暂存的文件的更改。考虑以下输出:
给定的输出显示了已暂存的newfile1.txt的更改。
Scenerio3:提交文件后跟踪更改:
Git, 让我们在提交文件后跟踪更改。假设我们已经为存储库提交了一个文件, 并在提交之后进行了一些其他更改。因此, 我们也可以在此阶段跟踪文件。
在以下输出中, 我们落实了对newfile1.txt所做的更改。考虑以下输出:
现在, 我们再次更改了newfile.txt文件, 方法是“提交文件后进行更改”。要跟踪此文件的更改, 请使用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 Diff分支机构
Git允许比较分支。如果你是分支机构的高手, 那么你可以了解在合并之前分析分支机构的重要性。如果你合并分支而不进行比较, 则会产生许多冲突。因此, 为避免这些冲突, Git允许许多方便的命令来预览, 比较和编辑更改。
我们可以使用git status命令来跟踪分支的变化, 但是很少有命令可以详细解释它。 git diff命令是用于跟踪更改的广泛使用的工具。
git diff命令允许我们比较分支和存储库的不同版本。要获取分支之间的差异, 请运行git diff命令, 如下所示:
$ git diff <branch 1> < branch 2>
上面的命令将显示分支1和分支2之间的差异。因此, 你可以决定是否要合并分支。考虑以下输出:
上面的输出显示了我的存储库分支test和test2之间的差异。 git diff命令提供两个分支的预览。因此, 对分支执行任何操作将很有帮助。
评论前必须登录!
注册