# 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
← GIT工具子模块 GIT Tag常用操作 →