Git忽略提交 .gitignore

初次使用git,把.DS_Store 提交上去了,当然还有一些日志、编译的临时文件等,这就很讨厌,提交上去根本没什么用。 这时候设置忽略规则,用来忽略这些文件的提交,就非常有必要。

操作

到项目根目录下,打开终端 touch .gitignore 创建忽略文件,在 vim .gitignore 把要忽略的文件 .DS_Store 编辑上去。

常用匹配示例

在 .gitingore 文件中,每一行指定一个忽略规则

  • bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
  • /bin: 忽略根目录下的bin文件
  • /*.c: 忽略 cat.c,不忽略 build/cat.c
  • debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
  • **/foo: 忽略/foo, a/foo, a/b/foo等
  • a/**/b: 忽略a/b, a/x/b, a/x/y/b等
  • !/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件
  • *.log: 忽略所有 .log 文件
  • config.php: 忽略当前路径的 config.php 文件

.gitignore规则不生效

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

git rm -rf --cached .
git add .
git commit -m 'update .gitignore'

学习出处:http://uusama.com/542.html

Written on April 22, 2020