我有一个项目,并通过git共享了根文件夹。
我和我的同胞正在使用不同版本的 Gradle(并且为项目命名了不同的东西),因此将 .idea 文件夹(某个文件夹)中的某些内容放在 .gitignore 文件中是合适的。直到现在我才意识到这一点,当我的朋友拉了它,由于使用不同的版本而更改了很多东西,现在又把它推了回去。
我已添加到 .gitignore 文件中:
/.idea/
但是,git 似乎仍在将该文件夹中的更改发送到 Github 存储库。
我已经检查了一些东西,包括这个,这个,以及更多关于堆栈溢出的问题。
我运行git rm --cached .idea/
,这成功地阻止了更改被推送。但是,如果我签出另一个分支,然后返回到这个分支,它不包括 .idea 目录中的相应文件。
谢谢
一个困惑的程序员
存储库中已经跟踪的文件将保留,因此即使您将它们添加到.gitignore
- 它只会影响未跟踪的文件。要从 git 中删除文件而不从工作目录中删除文件,请使用
git update-index --force-remove yourFileName
这将标记要删除的文件而不删除它。--force-remove
似乎只适用于单个文件,因此要删除整个文件夹,请尝试以下操作:
find .idea | xargs git update-index --force-remove