这是我参与「第五届青训营」笔记创作活动的第10天
git
由于之前一直自己独自开发,对git只有大概的了解,借着着青训营,完善一下git使用
gitignore:
-
即.gitignore文件, 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略不需要保存的文件,如日志文件,个人调试时的配置文件,临时文件工具自动生成的文件填进去,Git就会自动忽略这些文件或目录。
-
可以通过正则表达式进行模式匹配,通过一条规则匹配多个结果
空行不匹配任何文件#表示注释\表示转义*匹配任意字符(任意数量字符)?匹配任意字符(只能匹配一个字符) 二者都不可匹配//用于分割目录:- 当开头存在
/时,表示只从.gitignore所在的目录开始匹配,否则下级目录也会匹配 - 当结尾存在
/时,表示只匹配目录,否则将匹配目录和文件 !表示否定,使用!后,该文件将被重新包含,但如果该文件的父级目录被排除了,那么使用!也不会再次被包含bin/*忽略bin中的文件 (不可写成bin,)!bin/run.sh包含bin中的run.sh文件[]用于匹配一个字符列表,如a[nm]z可以匹配amz和anz**用于匹配多级目录,如a/**/b可以匹配,a/b,a/x/b,a/x/y/b等
-
git check-ignore <文件或路径名>可以查看该文件是否被忽略掉,如果输出文件名则表示忽略该文件, -v参数表示查看具体哪条规则忽略掉该文件 -
注意事项:
-
.gitignore只能忽略之前没有被追踪的文件,所以先纳入版本管理后写入.gitignore是无效的。
- 解决方案:
- 先删除本地缓存之后再加入.gitignore
git rm -r –cached git add git status
-
反过来,已被.gitignore忽略的文件无法加入版本库
- 解决方案:
- 先移除规则,再纳入版本管理,最后重新加入规则go相对路径
-