diff --git a/docs/git.html b/docs/git.html index d05c0a5a..078ab50c 100644 --- a/docs/git.html +++ b/docs/git.html @@ -42,7 +42,7 @@
本备忘单总结了常用的 Git 命令行指令,以供快速参考。
创建一个新的本地存储库
$ git init [项目名称]
@@ -166,6 +166,93 @@
以人类可读的格式显示 Git 中的任何对象
$ git show [SHA]
+
文件 .gitignore
指定了 Git
应该忽略的 未跟踪的 文件
:- | :- |
---|---|
行首 # | 全行注释,不支持行尾类注释 (转义 \# ) |
行首 ! | 否定模式 (转义 \! ) |
** | 匹配任意路径 |
* | 匹配任意多个字符 |
? | 匹配任意一个字符 |
doc/** | 匹配 doc 文件夹下的全部内容 |
doc/**/a | 匹配任意深度路径下的 a 文件或文件夹 |
/ | 表示路径分隔符,不区分操作系统 |
/ 结尾 | 仅会匹配文件夹,否则会匹配文件和文件夹 |
空行 | 不匹配任何文件 |
行尾空格 | 默认被忽略,可使用\ 进行转义 |
行首空格 | 被正常处理,不会被忽略 |
当前 .gitignore
文件定义规则的优先级高于上级路径 .gitignore
定义规则的优先级;后定义的规则优先级高于前面定义规则的优先级。
# 忽略当前目录logs文件夹下的全部内容
+/logs/
+/logs/*
+/logs/**
+# 上述几条规则等效
+
+# 忽略 Mac 系统文件,包括任意子路径下的同名文件(夹)
+.DS_store
+
+# 忽略 node_modules 文件夹,包括任意子路径下的同名文件夹
+node_modules/
+
+# 忽略任意子路径下build、target文件夹,
+# 但不忽略src/main、src/test下的build、target文件夹
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+target/
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+# 使用 ! 重新包含指定文件(夹)
+!logs/.gitkeep
+
+
# 从工作目录中删除文件并暂存删除
git rm <filename>
@@ -224,43 +311,6 @@
显示所有提交日志,并指示任何移动的路径
$ git log --stat -M
-
.gitignore
文件指定了 Git 应该忽略的 未跟踪的 文件。
.gitignore
文件定义规则的优先级高于上级路径 .gitignore
定义规则的优先级;后定义的规则优先级高于前面定义规则的优先级。#
开头的行为全行注释,不支持行尾类注释。如果希望匹配以#
开头的文件或文件夹,可前缀\
进行转义。\
进行转义。行首空格会被正常处理,不会被忽略。!
表示否定模式。如果匹配的文件被其他低优先级规则忽略,则会被重新跟踪。如果希望匹配以!
开头的文件或文件夹,可前缀\
进行转义。/
表示路径分隔符,不区分操作系统。/
,则仅在指定的文件夹这一层级进行文件搜索匹配,不会递归搜索子目录;如果规则不含路径分隔符,则会在当前文件夹内进行递归搜索匹配。/
结尾,则仅会匹配文件夹;否则会匹配文件和文件夹。/
。*
匹配任意个数字符,?
匹配任意一个字符,更多细节参见glob(7)。**
匹配任意路径。以**
开头表示在全部文件夹下去匹配,以/**
结尾表示匹配指定文件夹下的全部内容,中间**
匹配任意深度路径。# 忽略当前目录logs文件夹下的全部内容
-/logs/
-/logs/*
-/logs/**
-# 上述几条规则等效
-
-# 忽略 Mac 系统文件,包括任意子路径下的同名文件(夹)
-.DS_store
-
-# 忽略 node_modules 文件夹,包括任意子路径下的同名文件夹
-node_modules/
-
-# 忽略任意子路径下build、target文件夹,但不忽略src/main、src/test下的build、target文件夹
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-target/
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-# 使用 ! 重新包含指定文件(夹)
-!logs/.gitkeep
-
$ cat ~/.ssh/config
Host gitlab.com