4.GIT中的diff命令

这篇具有很好参考价值的文章主要介绍了4.GIT中的diff命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


常用命令

git diff

git diff命令用来输出git仓库两个文件,两个分支或者两个commmit id等之间文件的差异。

直接使用git diff命令,将会输出本地还没有add/stage到仓库中的所有文件修改。

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e93e7aa..1744a58 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,5 +21,6 @@ include_directories(${CMAKE_SOURCE_DIR}/test/inc)
 include_directories(${CMAKE_SOURCE_DIR}/Zoo/inc)
 include_directories(${CMAKE_SOURCE_DIR}/IntelCvTutorial/include)
 
+# shared library
 add_subdirectory(test)
 add_subdirectory(app)
\ No newline at end of file

git diff filename

这个命令会输出文件当前状态与其上次提交之间的发生的修改。

# git diff README.md
diff --git a/README.md b/README.md
index e0a5b22..73fcc36 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,10 @@
 # basic_cplusplus_examples
 
-#### 介绍
-C++ trick 实例
+## 介绍
+
+### test
+
+包含一些`tutorial examples`的代码。
 
 #### 软件架构
 软件架构说明

git diff branch_name

这个命令给出当前分支与branche_name分支最近一次commit_id之间的差异。

# git diff master 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e93e7aa..1744a58 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,5 +21,6 @@ include_directories(${CMAKE_SOURCE_DIR}/test/inc)
 include_directories(${CMAKE_SOURCE_DIR}/Zoo/inc)
 include_directories(${CMAKE_SOURCE_DIR}/IntelCvTutorial/include)
 
+# shared library
 add_subdirectory(test)
 add_subdirectory(app)
\ No newline at end of file
diff --git a/README.md b/README.md
index e0a5b22..73fcc36 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,10 @@
 # basic_cplusplus_examples
 
-#### 介绍
-C++ trick 实例
+## 介绍
+
+### test
+
+包含一些`tutorial examples`的代码。
 
 #### 软件架构
 软件架构说明

git diff --staged (or --cached) path/to/file

当使用git add将修改添加到缓冲区后,使用git diff --staged还能查到文件上所做的修改。

git diff HEAD

使用这个文件可以同时查看使用git add后及本地未stage的所有修改,不包括未跟踪的文件。

# git diff HEAD 
diff --git a/README.md b/README.md
index e0a5b22..73fcc36 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,10 @@
 # basic_cplusplus_examples
 
-#### 介绍
-C++ trick 实例
+## 介绍
+
+### test
+
+包含一些`tutorial examples`的代码。
 
 #### 软件架构
 软件架构说明

git diff commit_id1 commit_id2

比较两个commit id之间的修改。

# git diff 4df24e4da3ce0c576e04aef68befa003d5560496 4941529d0c50e38247b77f317ec52a6e89678fda
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1744a58..e93e7aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,6 +21,5 @@ include_directories(${CMAKE_SOURCE_DIR}/test/inc)
 include_directories(${CMAKE_SOURCE_DIR}/Zoo/inc)
 include_directories(${CMAKE_SOURCE_DIR}/IntelCvTutorial/include)
 
-# shared library
 add_subdirectory(test)
 add_subdirectory(app)
\ No newline at end of file

使用git diff创建和使用Git Patch补丁

创将Git Patch补丁

  • 先是将git diff的输出保存成Git Patch文件
  • 然后将修改舍弃,提交都可以
  • 使用git apply GIT_PATCH.patch应用修改
# git diff HEAD > readme.patch
# 生成文件 readme.patch
diff --git a/README.md b/README.md
index e0a5b22..73fcc36 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,10 @@
 # basic_cplusplus_examples
 
-#### 介绍
-C++ trick 实例
+## 介绍
+
+### test
+
+包含一些`tutorial examples`的代码。
 
 #### 软件架构
 软件架构说明

# git apply readme.patch

像上面这样就完成了GIT_PATCH.patch的创建和应用,还有一些其他的操作。

git apply GIT_PATCH.patch

git apply时可以跟一些参数来处理不同的情况。

  • --verbose-v,输出详细信息
  • --whitespace=fix,自动修复补丁文件中的空格,避免空格warning和缩进错误。
  • --check,在应用补丁之前,先进行检查
  • --stat,在应用补丁之前,先统计会插入几行/删除几行,修改几个文件
git apply --stat readme.patch
 README.md |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
  • --no-add,只应用patch中的删除操作
  • --exclude,应用补丁时排除指定文件
  • --include,应用补丁时包含指定文件

reference

  • 1.https://www.specbee.com/blogs/how-create-and-apply-patch-git-diff-and-git-apply-commands-your-drupal-website

欢迎访问个人网络日志🌹🌹知行空间🌹🌹文章来源地址https://www.toymoban.com/news/detail-569984.html


到了这里,关于4.GIT中的diff命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 中去除 vi/vim 和 git diff 中的 ^M 问题解决办法

    git diff 时发现下面的情况,新修改的代码之处都是携带 ^M 字符, 肯定是因为 Windows 和 Linux 系统之间 换行符 标准不同导致的。 CR(Carriage Return):ASCII 码中的控制符,代表回车。意思是将光标移到当前行的首位。用转义序列 \\\"r\\\" 表示; LF(Line Feed):ASCII 码中的控制符,代

    2024年02月04日
    浏览(43)
  • Git---分支差异对比(git diff)

    git diff 命令可以用来比较文件的不同,即比较文件在暂存区和工作区的差异

    2024年02月15日
    浏览(39)
  • 手动实现 git 的 git diff 功能

    这是 git diff 后的效果,感觉挺简单的,不就是 比较新旧版本,新增了就用 \\\"+\\\" 显示新加一行,删除了就用 \\\"-\\\" 显示删除一行,修改了一行就用 \\\"-\\\"、\\\"+\\\" 显示将旧版本中的该行干掉了并且新版本中增加了一行,即使用 \\\"删除\\\" + \\\"新增\\\" 操作代替 \\\"修改\\\" 操作。 然后我写的测试代码如

    2024年02月04日
    浏览(33)
  • git diff

    1. 如何将库文件的变化生成到patch中 git diff --binary commit1 commit2 test.patch 打patch: git apply test.patch 2. 如何消除trailing whitespace 问题  git diff --ignore-space-at-eol commit1 commit2 test.patch 打patch: git apply --whitespace=fix test.patch 补充: 默认情况下,该命令会输出警告信息,但会应用

    2024年04月14日
    浏览(35)
  • Git必知必会基础(07):git diff的使用

    本系列汇总,请查看这里 :https://www.cnblogs.com/uncleyong/p/10854115.html git diff的作用 git diff主要用于比较差异,比如工作区和暂存区、暂存区和本地仓库、分支和分支等; git diff可以帮助我们找出代码中的变更,从而更好地管理代码。 数据准备 本地仓库 工作区修改:修改qzcsbj.

    2024年04月15日
    浏览(78)
  • git diff两个分支有差异git merge却显示没有可以合并的内容

    problem: 用git diff可以发现两个分支还是有很多不一样的地方,可用git merge显示not something we can merge 输入gitk查看,发现preview已经在这个分支前面了。。。虽然不太懂,但这样是没办法将preview合并当前分支的,只能这个分支合并preview。。。 解决:因为也不会别的解决方法,因

    2024年02月12日
    浏览(51)
  • 【持续更新】ubuntu中的git命令

    git init 初始化本地目录作为本地仓库 git remote add origin xxxxxxx xxxxxxxx是指git地址。本条命令是将本地仓库和远程仓库连接起来。 git pull origin master 意思是将远程origin主机的master分支拉取过来和本地的当前分支进行合并。加上 --allow-unrelated 参数,表示允许合并两个不相关的仓库历

    2024年02月13日
    浏览(45)
  • 第三节:Git分支管理(关键词:git branch、git checkout、git diff、git merge、查看、创建、切换、对比分支)

    本节涉及Git命令 git branch :列出全部分支 git branch name :创建分支 git checkout name :切换分支 git diff branch1 branch2 :对比两个分支 git diff --quiet branch1 branch2 :对比两个分支是否存在差异,但不显示细节 git diff branch1 branch2 filename :对比两个分支中某个具体文件差异 git merge :合并

    2023年04月08日
    浏览(49)
  • git:git diff old mode 100644 new mode 100755含义及解决方式

    参考:         git diff old mode 100644 new mode 100755含义及解决方式 解决办法:         git config --add core.filemode false         忽略就完事了

    2024年02月12日
    浏览(29)
  • Delta 一个新的 git diff 对比显示工具

    平时我们会在命令行使用 git diff 相关命令来对比文件的差异。(git diff命令可参考:git-diff命令说明) 比如:当前文件和该文件以前某一次提交进行对比、某文件的某两次提交记录进行对比、对比电脑上任意两个文件的差异。 但是 git diff 对比出来没有行号,并且不能并排显

    2024年02月13日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包