无法摆脱gitlab中的.idea目录

时间:2017-05-09 05:26:32

标签: git

它说“什么都没有”!

我已经两次删除了这个目录。但它仍然存在于我的分支中。 我在.ignore中忽略了它,但现在我删除了它。此外,PHPStorm不会显示它能够从GUI中删除。

$ git rm -r --cached .idea
rm '.idea/php.xml'
$ git status
On branch ft-validation-service-fix-missing-orm
Your branch is up-to-date with 'origin/ft-validation-service-fix-missing-orm'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted:    .idea/php.xml

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        src/AppBundle/Controller/TestController.php

$ git commit . -m 'Remove .idea directory'
On branch ft-validation-service-fix-missing-orm
Your branch is up-to-date with 'origin/ft-validation-service-fix-missing-orm'.
Untracked files:
        src/AppBundle/Controller/TestController.php

nothing added to commit but untracked files present
编辑:似乎这是错误的,我不得不在另一个位置重新克隆回购,执行git rm然后推送并拉入另一个项目。

3 个答案:

答案 0 :(得分:3)

如果您已在 .gitignore 文件中添加.idea,请将其从git缓存中删除。

$ git rm -r --cached .idea
$ git add .
$ git commit -m 'commit message' 

$ git status

我猜你/某人已将 .idea / 推送到远程。如果是,请按照 -

  • 首先,从.gitignore
  • 中删除.idea
  • 关闭IDE
  • 转到终端并删除.idea文件夹,添加,提交,推送(将从远程删除.idea)

    # go to project directory using terminal 
    $ rm -rf .idea
    $ ls -la        # make sure .idea is deleted successfully
    
    $ git add .
    $ git commit -m 'remove .idea directory'
    $ git push origin HEAD                    # remove the .idea from remote
    
  • 打开IDE(将生成新的.idea)。

  • 在.gitignore文件中添加.idea
  • 从git缓存中删除 .idea ,看git status应该忽略.idea目录。

    # Add .idea in .gitignore file
    
    $ git remove -r --cached .idea    # remove .idea from git cache
    $ git status    
    

答案 1 :(得分:1)

您的提交命令中有一个不必要的.,删除它并且它可以正常工作:

git commit -m 'Remove .idea directory'

而不是

git commit . -m 'Remove .idea directory'

点被git解释为list of files to commit,它会忽略你上传的任何内容,而只会在提交中包含列出的文件 - 并且由于某种原因,点与删除的文件不匹配

答案 2 :(得分:0)

根据Jetbrain

  

如果您决定与其他开发人员共享IDE项目文件,请遵循以下准则:
  以下是您需要分享的内容:
  1 - 项目根目录下.idea目录下的所有文件,除了存储用户特定设置的workspace.xml和tasks.xml文件   2 - 所有可以位于不同模块目录中的.iml模块文件(适用于IntelliJ IDEA)

所以如果你想在Jetbrain产品中编码,你必须分享它。