Terran
git 忽略规则和 .gitignore 文件

什么是.gitignore文件

在使用git作代码管理的时候,可能会遇到这样的一些特殊文件:如大文件、涉及到Key的一些文件、编译过程中的中间文件等等。

这些文件通常我们不想提交到远程仓库,但是却又都放在同一个文件夹下面。

这时候,就需要用到我们的.gitignore文件了。

.gitignore文件的作用就在于过滤文件,将一些我们不希望被追踪管理的文件忽略。

如何使用.gitignore文件

首先我们需要创建一个.gitignore文件。方法如下:

  • 在远程仓库建立时候自动创建,再pull到本地。
  • 首先cd到对应的文件夹,然后命令行输入 vim .gitignore

具体使用规则

# 此为注释 – 将被 Git 忽略,可以解释为什么要忽略这些文件

# 忽略所有 .sample 结尾的文件
*.sample
# 但 lib.sample 除外
!lib.sample   

# 仅仅忽略项目根目录下的 TODO 文件,不包括子文件夹中的 TODO 文件
/TODO

# 忽略 build/ 目录下的所有文件
build/    

# 会忽略 doc/*.txt 但不包括doc/subdir/*.txt
# 即只忽略当前目录下的.txt文件,不忽略子目录的.txt文件
doc/*.txt

为什么.gitignore无效

有时候我们会发现,在.gitignore中添加了忽略规则仍然无效,或者远程仓库已经有了一些不必要的文件。

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

解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交。

# 将所用.jpg文件版本管理中删除
git rm -r --cached *.jpg*
# 或者直接将所有文件都从版本管理中删除
git rm -r --cached .

# 重新添加
git add .

# 提交新的版本
git commit -m 'update .gitignore'

# 推到远程仓库
git push origin master





第一篇文章~以后还要多多加油~