git 无法删除ignore文件中的远程仓库文件

若检查发现修改中仍然有.DS_Store文件,则可能原因是在早期的提交中就已将.DS_Store文件提交到repository了。如果一个文件已经被提交,那么就算这个文件已经被写到gitignore文件中,它的修改仍然会被追踪到。
所以我们需要手动将repository中的.DS_Store文件移除,可以使用以下命令移除:

git rm --cached .DS_Store
//移除当前文件夹下的.DS_Store文件
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
//移除文件夹下的所有.DS_Store文件

通过这个问题,我发现git 这个工具,我只是会个皮毛。

关键问题是,之前这个git rm --cached 这个命令我都没见过

这个让我感觉到很慌

然后我就复习了一下git的所有的用法

廖雪峰git教程

非常好用的教程

但是我还是不明白git rm --cached 这个cached 是什么意思

我们看一下官方的解释:

–cached
Use this option to unstage and remove paths only from the index. Working tree files, whether modified or not, will be left alone.

但是,我又不知道index是什么意思,难道是索引吗?索引是什么鬼?

然后我又找到

暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

如果,我在创建ignore文件之间,我就把我的项目先放在暂存区,然后我再推到版本库,

当我创建我ignore之后,我想把某个文件忽略掉,以后不要把这个文件的变化同步到远程仓库,

但是,当我上面都做的时候,我发现,远程仓库的一些我不想要的文件,依然存在,这是为什么了?

暂存区依然还存在这个文件,只要把这个文件给删除了,然后commit,然后再push,远程仓库的文件就没了

runboob教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值