在使用git 的时候通常会遇到一些问题,一些文件我创建了但是我并不想上传或者有些文件我修改了但是并不想上传(为了适应个自己的开发环境),但是在每次git status的时候总能看到它,不仅感到很心烦,而且有时会误上传。笔者接下来介绍两种git 忽略文件的方法。
一、忽略未存在缓冲区的文件(.gitignore文件忽略的方法)
一般git clone下来的项目是没有 .gitignore文件的需要我们手动创建,然后git 会自动识别这个文件,创建完成之后就可以在里面写一些创建了的文件但不希望上传的部分。
例如 cache , log 等 ,这些文件创建了但是并不想上传,我们可以将其写入 .gitignore文件中,* 代表该路径下的文件
.gitignore这个文件中支持多种忽略的规则,大家可以上网上去查,很多用法。这里不多叙述
但是.gitignore 只支持一些创建了但是不想上传的文件,也就是说不存在缓冲区的文件可以用.gitignore忽略,但是对于那些已经存在缓冲区的文件,修改了却不想上传,我们该如何呢?看第二种方法。
二、忽略已存在缓冲区的文件(git update-index --assume-unchanged PATH/FILE)
该情况可能出现在,修改了配置文件,或者修改一些配置适应本地环境的文件。
使用 git update-index --assume-unchanged PATH/FILE 来不追踪该文件更新与否。
PATH/FILE 特定文件比如 config/config.php等等。
三、已经存在缓冲区,但是希望其以后从缓冲区移除,以后在也不用追踪该文件,该文件变化或者不变化都不影响git status的结果.
该情况可能出现在,某些文件可能不需要添加到缓冲区,但是不小心添加到缓冲区,需要忽略,可以先从缓冲区移除,在从.gitignore文件中忽略
git rm --cached testFile //将该文件从缓冲区移除永远不追踪该文件
做完以上步骤时,想必你们也和我一样拥有一个干净的git status 结果,以后修改文件便可以,git add . 直接添加自己已经修改的文件,然后上传,再也不用一个一个文件的添加,还担心添加错。