template - cómo hacer que Git ignore los archivos.idea creados por Rubymine
intellij gitignore template (17)
Yo uso los proyectos de Rubymine for Rails. Muy a menudo, Rubymine hace cambios en archivos .idea/*
que no me importan. Pero sigue impidiéndome revisar nuevas sucursales, y hace que mi versión de .idea/
diferente de mis compañeros de trabajo.
Ya agregamos .idea/
a .gitignore
, pero sigue los cambios en .idea
. ¿Cómo debo hacer esto de la manera correcta?
A continuación se muestra uno de los mensajes de error típicos que obtuve:
error: Your local changes to the following files would be overwritten by checkout:
.idea/workspace.xml
¿Qué pasa con .idea/*
? No hizo la prueba, pero debería hacerlo
Agregue .idea a ~ / .gitignore_global y siga las instrucciones aquí para que funcione .gitignore_global:
Entonces no tiene que agregarlo nunca a un archivo .gitignore individual.
Agregue .idea/*
a su lista de exclusión para evitar el seguimiento de todos los archivos .idea, directorios y sub recursos.
Cierre PHP Storm en terminal vaya al tipo de carpeta de proyecto
git rm -rf .idea; git commit -m "delete .idea"; git push;
A continuación, vaya a la carpeta del proyecto y elimine la carpeta .idea
sudo rm -r .idea/
Comienza PhpStorm y listo
En Windows. Simplemente haga que la carpeta .idea quede oculta. Git se ocupará del resto.
En la interfaz de usuario de rubymine, hay una lista de ignorar (configuración / control de versión). Tal vez intente desactivarlo allí. Tengo la pista de su apoyo chicos.
Intenté agregar esos archivos a mi .gitignore
y fue inútil ...
Sin embargo, como dijo Petr Syrov , puedes usar git rm -r --cached .idea
en tu terminal y esos archivos ya no serán un problema.
JetBrains tiene un .gitignore_global
en GitHub .
Para mí, solo había una solución para eliminar la carpeta .idea que confirmar el archivo .gitignore con ".idea" y luego volver a usar IDE
Pruebe git rm -r --cached .idea
en su terminal. Deshabilita el seguimiento de cambios.
Puede usar gitignore para la generación avanzada de archivos de gitignore. Es rápido, fácil y las etiquetas de vanguardia se generan automáticamente para usted.
Utilice este enlace para la mayoría de softwares de jetbrains ( intelij , phpstorm ...) jetbrains .gitignore file
[editar]
A continuación se muestra el archivo gitignore generado para Jetbrains Softwares, esto evitará que comparta información confidencial (contraseñas, almacenes de claves, contraseñas de bases de datos ...) utilizada por cualquier software de Jetbrains para administrar proyectos.
# 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
El código generado también está bien comentado. Espero que ayude :)
Sugiero leer la página de git man para entender completamente cómo ignorar el trabajo, y en el futuro me lo agradecerás;)
Pertinente a tu problema:
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.
Tenga en cuenta que JetBrains recomienda rastrear todos menos dos de los archivos .idea/*
Para una mejor colaboración entre el equipo del proyecto, debe colocar bajo el control de la versión todos los archivos en el directorio .idea en la raíz del proyecto, excepto los archivos workspace.xml y tasks.xml que almacenan las configuraciones específicas del usuario. ( Cómo administrar proyectos RubyMine en Version Control Systems )
Por lo tanto, probablemente solo deba ignorar los archivos workspace.xml
y tasks.xml
Use el plugin .ignore : https://plugins.jetbrains.com/plugin/7495--ignore
Gestiona una gran cantidad de rutas / patrones automáticamente y también tiene muchas funciones adicionales útiles. Es compatible con:
- IntelliJ IDEA
- PhpStorm
- WebStorm
- PyCharm
- RubyMine
- AppCode
- CLion
- GoLand
- DataGrip
- Jinete
- MPS
- Estudio Android
si un archivo ya está siendo rastreado por Git, agregar el archivo a .gitignore no impedirá que Git lo rastree. Tendrás que hacer primero el archivo ofensivo y luego agregarlo a tu .gitignore.
Agregar .idea / debería funcionar
solo .idea/
funciona bien para mí
git rm -r --cached .idea
en tu terminal funcionó muy bien para mí. Deshabilita el seguimiento de cambios y desarma una cantidad de archivos en la carpeta rubymine (idea /) que luego podría agregar y comprometer a git, eliminando así la comparación y permitiendo que la configuración de .idea/
de .idea/
funcione.