迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

在 Git 中比较文件、提交和分支

作者:迹忆客 最近更新:2023/03/29 浏览次数:

本文将教我们如何使用 git diff 命令比较 Git 中的文件、提交和分支。我们使用 git diff 命令来显示由两次提交或我们的 repo 的当前状态和以前的提交产生的​​文件之间的差异。

该命令在比较数据源时派上用场。


git diff 命令

语法:

git diff

默认情况下,该命令将显示我们仓库中未提交的更改。

该命令将向我们显示原始文件中所有已删除和添加的代码行。让我们看看一些例子。

Git Diff 提交

我们可以在下面的上下文中比较同一分支中的两个提交。

git diff <commit-1-id> <commit-2-id>

例子:

这是我们本地仓库的提交历史记录。

$ git log --oneline
c84e6f9 (HEAD -> main) Third Code Correction
9af4e38 Second Code Correction
a45ca97 First Code Correction
8c1cefc My Commit Message
c5bf6c8 Sixth Commit
3b641e0 Fourth Commit
21ca1e7 Third Commit
b2f7710 Initial commit

在我们想要查看 Third Code CorrectionSecond Code Correction 提交之间的差异的场景中,我们将如何处理呢?

我们将运行 git diff 命令并提及我们两次提交的哈希值,如下所示。

$ git diff 9af4e38 c84e6f9
diff --git a/insert.php b/insert.php
index 985a7af..a5f31c6 100644
--- a/insert.php
+++ b/insert.php
@@ -1,7 +1,6 @@
 <?php
 // Use ls command to shell_exec function
 $output = shell_exec('git');
-
 // Display the list of all files and directories
 echo "<pre>$output</pre>";
 ?>

上面的输出显示了 67 行的差异。我们可以看到 Third Code Correction 提交删除了 67 行的空代码行。

Git 差异分支

为了比较我们仓库中的两个分支,我们运行这个命令。

git diff <branch1> <branch2>

如果我们想比较 master 分支和另一个名为 dev.7 的分支,我们将运行此命令。

git diff master dev.7

如果我们在分支之间添加两个点,Git 将比较两者之间的最新提交。

Git 差异文件

我们可以在下面的上下文中使用 git diff 命令比较我们仓库中的两个文件。

git diff <path-to-file1> <path-to-file2>

例子:

$ git diff Head:sample.php HEAD:insert.php
diff --git a/sample.php b/insert.php
index dce9c57..a5f31c6 100644
--- a/sample.php
+++ b/insert.php
@@ -1,14 +1,6 @@
 <?php
-    $a= 23;
-    $nationality = "Dutch";
-    //applying conditions on nationality and age
-    if ($nationality == "Dutch")
-    {
-        if ($a >= 18) {
-            echo "Eligible to vote";
-        }
-        else {
-            echo "Not eligible to vote";
-        }
-    }
+// Use ls command to shell_exec function
+$output = shell_exec('git');
+// Display the list of all files and directories
+echo "<pre>$output</pre>";

请注意我们如何在 git diff 命令中指定分支。如果文件位于不同的分支中,则需要为每个文件指定分支。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便