Jetbrains Rider 的 .idea 文件夹的 .gitignore 设置不起作用

Posted

技术标签:

【中文标题】Jetbrains Rider 的 .idea 文件夹的 .gitignore 设置不起作用【英文标题】:The .gitignore setting for the .idea folder of Jetbrains Rider's does not work 【发布时间】:2018-11-10 07:18:49 【问题描述】:

我目前正在开发一个在 Windows10 上使用 Unity 和 Rider 的 android 游戏项目。 Git 管理正在使用 Github Desktop。

完成游戏制作后,我尝试设置.gitignore上传到Github,连接gitignore.io并选择windows、unity、jetbrains + all,然后在我的.gitignore中输入.gitignore,显示在屏幕。代码链接为https://www.gitignore.io/api/unity,windows,jetbrains+all。

下面的代码是我写的.gitignore代码。

# Created by https://www.gitignore.io/api/unity,windows,jetbrains+all
# Edit at https://www.gitignore.io/?templates=unity,windows,jetbrains+all

### JetBrains+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, phpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn.  Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### JetBrains+all Patch ###
# Ignores the whole .idea folder and all .iml files
# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360

.idea/

# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023

*.iml
modules.xml
.idea/misc.xml
*.ipr

### Unity ###
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
Assets/AssetStoreTools*

# Visual Studio cache directory
.vs/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta

# Unity3D Generated File On Crash Reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

### Windows ###
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

# End of https://www.gitignore.io/api/unity,windows,jetbrains+all

但是,.idea 文件夹中的某些文件与 .gitignore 设置不同。所以我留下了这个问题。据我所知,.idea文件夹的子目录应该是没有用git注册的,但是不知道看到一些文件是不是正常。如果这不正常,它会询问您是否要将所有 .idea 文件夹子列表添加到 .gitignore。

下图是从 Github Desktop 截取的图片。

我会等待一个好的答案。感谢阅读。

【问题讨论】:

这个问题更多是关于哪些文件与跟踪相关,而不是如何使用 git。我不会使用 git 标签。 【参考方案1】:

这个文件夹没有被忽略的原因是因为它存储了你的项目的配置并且因为它不是默认.gitignore的一部分

您可以立即修复它。


从命令行解释如何做,也可以通过 IDEA 来完成。

# Once the files are committed adding them to .gitignore will not help,
# you must remove them from the index
# Remove the file from the repository
git rm --cached .idea/

# now update your gitignore file to ignore this folder
echo '.idea' >> .gitignore

# add the .gitignore file to your index
git add .gitignore

git commit -m "Removed .idea files"
git push origin <branch>

【讨论】:

谢谢。感谢 Responder,如果文件已经在 git 中并且正在跟踪,我需要清除缓存。感谢您的回复,希望您今天过得愉快。 祝你好运,是的,请按照脚本为您修复它。我在那里写了你需要的一切【参考方案2】:
echo ".idae/*" >> ~/.gitignore
git config --global core.excludesfile ~/.gitignore

【讨论】:

这个答案有一个错字“科”

以上是关于Jetbrains Rider 的 .idea 文件夹的 .gitignore 设置不起作用的主要内容,如果未能解决你的问题,请参考以下文章

JetBrains Rider 破解 (ideaIU等等开发工具都通用)2018-02-27

JETBRAINS RIDER:剖析 Rider 2017.3新功能

在 JetBrains Rider 中找不到目标框架

JetBrains宣布Project Rider:一款C#跨平台IDE

JetBrains Rider 移除高亮显示

Jetbrains Rider 中的启动项目选项