开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情
讲解辅助
语法规则讲解
[]括住的内容为可选,|代表两边的写法的效果一样,可使用任何一种写法。
内容...表示列表,通常表示:...前的那种类别的内容的列表,列表的间隔符可能为空格。
#表示注释,语法中没有指定内容,这是对语法的解释。
--选项
由于语法规则的设定所以可能会有其他的选项也是字符串类型,与文件路径冲突,若是直接写一段字串,git无法分清它为文件路径还是其他选项。所以使用这个选项来进行区分,当出现这个选项之后,下面所有的选项都会被认为是文件路径。
例如:git diff [branch] [--] [file...]与git diff [file...]【该命令弱势运行会报错的】会冲突,所以都是写为git diff -- [file...]【这下不会报错了】
<pathspec>常用语法
表示路径规范
-
可以为绝对路径或是相对路径
-
使用
*表示以字符串的形式匹配尽可能多的任意字符,不过注意:cmd命令行中<pathspec>是否用引号括住对结果无影响,但是在Git Bash中使用引号会影响结果,用引号括住的内容可以搜索子目录,没有括住的不可以搜索子目录中的文件。【cmd中只能是双引号,Git Bash中单双引号都可以】- 例如:
*.*会匹配所有以任意字串为后缀名的文件,包括子目录下的文件【`*``也是一样的效果】也会被匹配。
- 例如:
-
使用
?可以在以字符串的形式匹配任意单个字符,但是只能匹配当前目录的文件,无法匹配子目录下的文件。 -
使用
[要匹配的字符]可以在以字符串的形式匹配任意单个在中括号中出现的字符,同样无法匹配子目录下的文件。 -
.表示当前目录下的所有文件
追踪文件git add
主要作用
追踪指定的文件,使得这些文件的状态变为已暂存,并根据修改的内容更新文件的SHA-1 哈希值。
会将新建或修改过的内容拷贝到.git\object文件夹中,文件名称为之前提过的SHA-1 哈希值。并修改.git\index文件中的内容,该文件中为项目中文件的索引。
默认情况下,该命令不会添加.gitignore中指定的忽略的文件,若是命令中明确指明了要被忽略的文件,则该命令执行失败。但是若是模糊指定,则会自动忽略。
语法
git add [--verbose | -v] #追踪的同时,显示追踪了哪些文件
#输出中add 文件名表示添加,remove 文件名表示删除】
[--dry-run | -n] #不实际添加指定文件,仅仅显示要添加哪些文件,
#显示的内容与-v显示的一样
[--force | -f] #允许添加被忽略的文件
[--interactive | -i] #进入交互模式
[--patch | -p] #进入另一种交互模式
[--edit | -e]
[--[no-]all | --[no-]ignore-removal | [--update | -u]]
[--sparse]
[--intent-to-add | -N]
[--refresh]
[--ignore-errors]
[--ignore-missing]
[--renormalize]
[--chmod=(+|-)x]
[--pathspec-from-file=<file> [--pathspec-file-nul]]
[--] #此选项可用于从文件列表中分离命令行选项(当文件名可能被误认为命令行选项时非常有用)
[<pathspec>…]#文件路径列表,用空格作为间隔
句末语
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 N 天,点击查看活动详情