一、Git 文件操作指令
1、查看指定文件的状态
git status [filename]
我们在新创建且初始化过后的 git 仓库中新建一个 文件,然后在 git 的命令行中输入此指令后,就可以看到 的状态:
在此显示的是 Untracked 的状态,也就是未追踪状态。
2、查看所有文件的状态
我们再在仓库中创建一个文件 ,然后使用指令:
git status
就可以得到所有文件的状态:
3、添加所有文件到 Index (暂存区)中
使用
git add <file>
指令可以添加文件到 Index 中,file 可以是一个或多个文件,也可以直接使用
git add .
添加当前目录的所有文件到 Index 中。
在使用此指令后,在使用显示所有文件状态的指令,可以看到:
之前的两个未追踪的两个文件现在已经是在 Index 中,可以准备提交到仓库中了。
4、提交 Index 中的内容到本地仓库中
使用
git commit -m "提交描述"
可以将 Index 中的内容提交到本地仓库中,同时加上对此次提交的描述或者备注。
然后我们再次使用显示所有文件状态:
显示在主分支上没有东西要提交了,工作树已清空。
二、.gitignore文件
.gitignore 文件是一个非常重要的 Git 配置文件,用于指定 Git 应该忽略的文件和目录。这些被忽略的文件通常是不需要纳入版本控制的,比如编译生成的文件、临时文件、个人配置文件等。
1、位置和命名
.gitignore 文件通常位于项目的根目录,文件名严格为 ".gitignore"。实际上也可以在子目录中创建 .gitignore 文件,只对该子目录有效,也就是说忽略文件时只会忽略该子目录中的文件或者目录。
2、基本语法
每行指定一个忽略规则,使用 "#" 添加注释,可以使用通配符。
3、通配符
.gitignore 文件支持 Linux 中的通配符:
" * " 匹配零个或多个字符
" ? " 匹配任何一个字符
" [] " 匹配括号内的任何一个字符,例如 [a-z] 就是匹配 a-z 的任意一个字母
" ** " 匹配任意中间目录
" {} "匹配括号内任何一个字符串
4、补充
- 在.gitignore中,查找的对象以 / 结尾的是只匹配目录,例如 test/ 就只会匹配名字为 test 的目录,查找对象不以 / 结尾的匹配文件和目录,例如 test 是匹配以 test 为名字的文件或或者目录。
- 如果路径最前面有 / ,则匹配范围是 .gitignore 文件所在目录,不包括所在目录中的子目录,如果路径前面没有 / ,则匹配范围是 .gitignore 文件所在目录和所在目录的所有子目录(以及子目录的子目录……总之就是递归匹配到最深层的子目录)。这一点在下面的例子中有所体现。
5、例子
1)test/
以 / 结尾,所以匹配的是目录。这里匹配的是 .gitignore 所在的目录以及其所有子目录中的 test 目录。
2)/test/
以 / 结尾,所以匹配的是目录。这里匹配的是 .gitignore 所在目录中的 test 目录(不包括 .gitignore 所在目录的子目录中的 test 目录)。
3)test
不以 / 结尾,所以匹配的是目录或文件。这里匹配的是 .gitignore 所在目录的以及其所有子目录中的 test 目录或文件。
4)/test
不以 / 结尾,所以匹配的是目录或文件。这里匹配的是 .gitignore 所在目录的 test 目录或文件(不包括 .gitignore 所在目录的子目录中的 test 目录或文件)。