使用Git做代码管理,在使用的时候发现不管怎么修改.gitignore文件,比如针对__pycache__文件夹,为了让git忽略所有目录里的 __pycache__ 和 .pyc文件,本文地址:http://www.04007.cn/article/1197.html,未经许可,不得转载.
在gitignore中加入规则:**/__pycache__ 、 __pycache__ 、 __pycache__/ 等,但是在git status的时候依然发现还有这些目录下的这些文件。也有些朋友推荐在.git/info/exclude文件中添加 __pycache__/ 。但我在本地尝试了就是未成功。问题出在哪?本文地址:http://www.04007.cn/article/1197.html,未经许可,不得转载.
原来.gitignore中已经标明忽略的文件目录及文件和版本管理存在一个先后问题。因为在git中新增加的一些忽略目录或文件中,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,除非是项目在一开始初始化的时候就加上了忽略。而对于先已经加入了版本管理,后来再想着忽略的情况下,这时候我们就需要先把本地缓存删除后进行一次git提交,这样以后就不会出现忽略的目录和文件了。本文地址:http://www.04007.cn/article/1197.html,未经许可,不得转载.
git清除本地缓存(改变成未track状态),然后再提交:本文地址:http://www.04007.cn/article/1197.html,未经许可,不得转载.
$ git rm -r --cached . # 可以看到此时 很多delete的文件,正是之前删除不了的忽略文件 $ git status $ git add . $ git commit -m "ignore" $ git push其它备注:Git使用git add 提交代码之后,想回到版本库的版本,我们现在分为两种情况:
1.先把文件恢复到未跟踪状态:
使用git reset HEAD file 撤回提交。
使用git reset HEAD . 撤回所有提交。
2.撤销文件修改:
使用git checkout -- filepath 撤销文件修改.
使用git checkout -- . 撤销所有修改.
如果要修改的文件未添加到暂存区,就是文件处于untracked状态,直接只走第2步就行。本文地址:http://www.04007.cn/article/1197.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1197.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1197.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |