我使用Rubymine进行Rails项目。 Rubymine经常更改我不关心的.idea/*
文件。但它一直阻止我检查新的分支,并使我的版本.idea/
与我的同事不同。
我们已将.idea/
添加到.gitignore
,但它会跟踪.idea
中的更改。我该怎么做正确的方法?
以下是我收到的典型错误消息之一:
error: Your local changes to the following files would be overwritten by checkout:
.idea/workspace.xml
答案 0 :(得分:271)
在您的终端中尝试git rm -r --cached .idea
。它会禁用更改跟踪。
答案 1 :(得分:208)
.idea/
只适用于我
答案 2 :(得分:37)
请注意,JetBrains建议“如果您决定与其他开发人员共享IDE项目文件......”,请跟踪除以下三个文件之外的所有.idea/*
个文件 :
因此,要遵循他们的建议,您可以将这3个文件添加到.gitignore。
来源:
如果您决定与其他开发人员共享IDE项目文件,请遵循以下准则:
...
以下是您需要分享的内容:
- 项目根目录中.idea目录下的所有文件, workspace.xml , usage.statistics.xml 和 > tasks.xml 存储用户特定设置的文件
- ...
How to manage projects under Version Control Systems(archive)
在该页面上还有一些关于哪些其他文件可以用于不同特定的jetbrains IDE和构建的其他文件。
答案 3 :(得分:26)
将.idea/*
添加到您的排除列表中,以防止跟踪所有.idea文件,目录和子资源。
答案 4 :(得分:22)
如果Git已经跟踪了某个文件,将该文件添加到.gitignore将不会阻止Git跟踪它。您需要首先对违规文件执行git,然后添加到.gitignore。
添加.idea /应该工作
答案 5 :(得分:19)
在您的终端中使用C:\Users\armyTik\Desktop\angular2>ng new ponyracer
installing ng2
create .clang-format
create config\environment.js
create e2e\app.e2e.ts
create e2e\app.po.ts
create e2e\tsconfig.json
create angular-cli-build.js
create .gitignore
create karma-test-shim.js
create karma.conf.js
create package.json
create protractor.conf.js
create src\app\ponyracer.html
create src\app\ponyracer.spec.ts
create src\app\ponyracer.ts
create src\app.ts
create src\favicon.ico
create src\index.html
create src\tsconfig.json
create src\typings.d.ts
create tslint.json
create typings.json
EPERM: operation not permitted, rename 'C:\Users\armyTik\AppData\Roaming\npm-cache\inherits\2.0.1\package\package.json.9a4ce21d93c69060b63a1c0abc37dc9a' -> 'C:\Users\armyTik\AppData\Roaming
\npm-cache\inherits\2.0.1\package\package.json'
Error: EPERM: operation not permitted, rename 'C:\Users\armyTik\AppData\Roaming\npm-cache\inherits\2.0.1\package\package.json.9a4ce21d93c69060b63a1c0abc37dc9a' -> 'C:\Users\armyTik\AppData\
Roaming\npm-cache\inherits\2.0.1\package\package.json'
at Error (native)
对我来说非常有用。它会禁用更改跟踪并取消设置rubymine文件夹(idea /)下的一些文件,然后我可以添加并提交给git,从而删除比较并允许git rm -r --cached .idea
的gitignore设置工作。
答案 6 :(得分:12)
在rubymine gui中,有一个忽略列表(设置/版本控制)。也许尝试在那里禁用它。我得到了他们支持者的暗示。
答案 7 :(得分:12)
关闭PHP Storm 在终端中转到项目文件夹 型
git rm -rf .idea; git commit -m "delete .idea"; git push;
然后转到项目文件夹并删除文件夹.idea
sudo rm -r .idea/
启动PhpStorm,你就完成了
答案 8 :(得分:9)
将.idea添加到〜/ .gitignore_global并按照此处的说明获取.gitignore_global工作:
然后您不必将其添加到单个.gitignore文件中。
答案 9 :(得分:4)
对我来说,只有一个解决方案可以删除.idea文件夹而不是提交文件.gitignore和“.idea”,而不是再次使用IDE
答案 10 :(得分:4)
我建议您阅读git man page以完全理解忽视工作的方式,将来您会感谢我;)
与您的问题相关:
Two consecutive asterisks ("**") in patterns matched against full pathname may have special meaning:
A leading "**" followed by a slash means match in all directories. For example, "**/foo" matches file or directory "foo" anywhere, the same as pattern "foo". "**/foo/bar" matches file or directory "bar" anywhere that is directly under directory "foo".
A trailing "/**" matches everything inside. For example, "abc/**" matches all files inside directory "abc", relative to the location of the . gitignore file, with infinite depth.
A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
Other consecutive asterisks are considered invalid.
答案 11 :(得分:4)
我尝试将这些文件添加到我的.gitignore
中,但它无用......
然而,正如Petr Syrov所述,您可以在终端中使用git rm -r --cached .idea
,这些文件不再是问题!
答案 12 :(得分:3)
JetBrains有.gitignore_global
on GitHub。
答案 13 :(得分:3)
您可以使用gitignore进行高级gitignore文件生成。它会自动为您生成快速,简便和尖端的标签。
对大多数jetbrains软件使用此链接( intelij , phpstorm ...) jetbrains .gitignore file
<强> [编辑] 强>
以下是Jetbrains软件生成的gitignore文件,这将阻止您共享任何Jetbrains软件用于管理项目的敏感信息(密码,密钥库,数据库密码......)。
# Created by https://www.gitignore.io
### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
*.iml
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
# Gradle:
# .idea/gradle.xml
# .idea/libraries
# Mongo Explorer plugin:
# .idea/mongoSettings.xml
## File-based project format:
*.ipr
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
生成的代码也有很好的评论。 希望它有助于:)
答案 14 :(得分:2)
.idea/*
怎么样?没有测试,但应该这样做
答案 15 :(得分:2)
虽然我切换到Rubymine的时间不长,但我发现忽略Rubymine的.idea文件已提交到git具有挑战性。
这是我修复的方式
如果您根本不执行任何暂存/提交操作,或者只是在Ruby mine中启动了一个新项目,则只需执行此操作
选项1
将以下行添加到.gitignore文件中,该文件通常位于存储库的根目录中。
# Ignore .idea files
.idea/
这将确保所有.idea文件都不会被git跟踪,尽管它们仍将保留在本地项目文件夹中。
选项2
如果您已经执行了一些暂存/提交操作,或者只是在Ruby mine中打开了一个现有项目,则只需执行此操作
在终端/命令行中运行代码
git rm -r --cached .idea
这会删除git中已经跟踪的.idea文件
接下来,将.idea /包含到.gitignore文件中,该文件通常位于存储库的根目录中。
# Ignore .idea files
.idea/
这将确保所有.idea文件都不会被git跟踪,尽管它们仍将保留在本地项目文件夹中。
选项3
但是,如果您已完成一些暂存/提交操作,或者只是在Ruby mine中打开了一个现有项目,并且想要在本地和git中完全删除.idea文件,则只需执行此操作
在终端/命令行中运行代码
git rm -r --cached .idea
这会删除git中已经跟踪的.idea文件
在终端/命令行中运行代码
rm -r .idea
这将删除所有.idea文件,包括本地文件夹
接下来,将.idea /包含到.gitignore文件中,该文件通常位于存储库的根目录中。
# Ignore .idea files
.idea/
这将确保git不会跟踪所有.idea文件,也不会从本地项目文件夹中删除这些文件。
仅此而已
我希望这会有所帮助
答案 16 :(得分:1)
使用 .ignore 插件:https://plugins.jetbrains.com/plugin/7495--ignore
它可以自动管理很多路径/模式,还有许多有用的额外功能。它兼容:
答案 17 :(得分:0)
如果您已经进行了首次提交,并且.idea文件在git中显示为新文件,则需要先删除这些文件,然后再提交它们。以下步骤可以解决问题
1. git rm --cached -r .idea/
2. Add .idea/ to **.git/info/exclude** or **.gitignore**
3. git commit -m 'ignore .idea/ files'
在此链接中对此有详细说明: https://devconnected.com/how-to-clear-git-cache/
答案 18 :(得分:0)
.gitignore,该文件用于明确指定 Git 应忽略哪些文件或文件夹
$HOME/.gitignore_global、$HOME/.config/git/ignore、$GIT_DIR/info/exclude 中指定的忽略规则>、.gitignore都在Git仓库中生效
.gitignore 文件明确指定 Git 不应跟踪哪些文件,即,Git 忽略哪些文件。 在成为 gitignore 之前已经被 Git 跟踪的文件不受 gitignore 规则的影响。。要停止跟踪已被 Git 跟踪的文件,请使用 git rm --cached .idea/
命令
答案 19 :(得分:0)
对于所有 JetBrains IDE:
设置 > 编辑器 > 文件类型 > 忽略的文件和文件夹,按 + 号并将 .idea
添加到忽略列表。
或者,将行 .gitignore
添加到 .git/info/exclude
(用于提交)或 .idea/
(用于本地)。
答案 20 :(得分:-6)
在Windows上。只需隐藏.idea文件夹即可。 Git将负责其余的工作。