0


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.mddiff--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 filediff--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 4941529d0c50e38247b77f317ec52a6e89678fdadiff--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.patchdiff--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 +++++--
 1file changed, 5 insertions(+), 2 deletions(-)
  • --no-add,只应用patch中的删除操作
  • --exclude,应用补丁时排除指定文件
  • --include,应用补丁时包含指定文件

reference


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


标签: git

本文转载自: https://blog.csdn.net/lx_ros/article/details/131741154
版权归原作者 恒友成 所有, 如有侵权,请联系我们删除。

“4.GIT中的diff命令”的评论:

还没有评论