git取消文件跟踪

在使用git的时候,有些文件是不需要上传的,所以就可以修改  .gitignore

例如:

如果是对所有文件都取消跟踪的话,就是

git rm -r --cached .   //不删除本地文件

git rm -r --f .   //删除本地文件

对某个文件取消跟踪

git rm --cached readme1.txt    删除readme1.txt的跟踪,并保留在本地。

git rm --f readme1.txt    删除readme1.txt的跟踪,并且删除本地文件。

然后git commit 即可。但是git status查看状态时还是会列出来

每次使用git status 查看状态时总是会列出被跟踪的文件,可以通过 .gitignore文件来达到目的

在git init 的目录下建立.gitignore文件,git官方提供的有 该文件,可以加以修改使用

https://github.com/github/gitignore

例:

这样被滤掉的文件就不会出现被上传

.gitignore 还可以指定将哪些文件添加到版本管理中:

在上面的语法前面加上   !         即可

千万要注意:

如果你在创建.gitignore文件之前就已经push项目了,那么即时你在.gitignore文件中写入新的规则,这些规则也不会起作用。

有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .

git add .

git commit -m 'update .gitignore'

如果还是不行的话

在git库中先删除这个文件(或者先移到项目目录外),并提交

注意:

不要误解了 .gitignore 文件的用途,该文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。

如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效。

本文参考1:http://www.cnblogs.com/kevingrace/p/5690241.html

本文参考2:http://blog.csdn.net/pengchaozhang111/article/details/51438881

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 4,890评论 0 9
  • 前言 Git使用教程 Git是什么 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 ...
    90后的思维阅读 933评论 0 0
  • git备忘录 官网教程 “origin” 并无特殊含义远程仓库名字 “origin” 与分支名字 “master”...
    点点渔火阅读 213评论 0 0
  • 在git是用过程中,可能遇到以下情况: 1、被跟踪文件里面有不想跟踪的文件。 2、每次用git status查看状...
    五大RobertWu伍洋阅读 16,514评论 1 6
  • 这是我在学习Git的过程中所做的读书笔记的相关总结,希望能对刚刚接触Git或Github的小伙伴们带来一点点帮助,...
    sonack阅读 2,526评论 9 56