git 从版本控制中删除文件及.gitignore的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 从版本控制中删除文件及.gitignore的用法相关的知识,希望对你有一定的参考价值。

刚开始用git的时候,喜欢用git add *把所有文件都加入到版本管理中。

后来发现,因为我在virtualenv下面创建的内容,在跑测试的时候,会产生__pycache__文件夹,里面的很多东西都不需要纳入版本管理中,于是就想把它删掉。

一般来说,用的是git rm命令,比如

git rm -r __pycache__

但是它会直接删掉硬盘上的文件,我们可以加上-n参数查看他会删掉哪些文件。

(.venv) [[email protected] SocialMatrix]# git rm -r -n BaseClasses/__pycache__/

rm ‘BaseClasses/__pycache__/World.cpython-36.pyc‘

比如结果如上所示。

那么如果我想保留硬盘上的这个文件,而只删除版本管理中的文件,就需要加入--cached参数。

(.venv) [[email protected] SocialMatrix]# git rm -r --cached BaseClasses/__pycache__/

这样,版本管理中的__pycache__文件夹就被删除了。后续想要排除这个文件夹,只需要在.git文件存在的目录下添加一个.gitignore文件,让git add的时候跳过这个文件夹即可。

(.venv) [[email protected] SocialMatrix]# cat .gitignore

# skip .venv

.venv/

# skip */__pycache__

*/__pycache__

这样就可以不用担心把这些cache文件加入版本管理啦。

以上是关于git 从版本控制中删除文件及.gitignore的用法的主要内容,如果未能解决你的问题,请参考以下文章

文件移除 git 版本库但不删除文件

git版本管理 .gitignore不起作用的解决办法

.gitignore 文件不起作用解决

如何在idea中,忽略掉.gitignore文件自身,自己不能忽略自己,该怎么设置?

vs 使用git管理bin obj 去除版本控制

git 配置忽略文件规则