No estoy muy familiarizado con el shelveaspecto de Git. Si stashse utiliza para dejar de lado el trabajo inacabado, ¿qué es shelveentonces? ¿Para qué lo usarías?
Por ejemplo, en Proyecto de actualización (desde el menú VCS)
uno obtendrá (en Idea 2019.2)
git
intellij-idea
jetbrains-ide
Edgar Martinez
fuente
fuente



shelveNo es un comando git. ¿Cuál es el contexto para esta pregunta, de dónde provienen estos términos?shelveexiste en algunas otras herramientas pero no es parte de git.shelvebzr, hg, etc. ¿Se refiere a algún paquete de interoperabilidad git?Respuestas:
git shelveno existe en Git.Solo
git stash:Usted tuvo un 2008 antiguo proyecto Git dejar de lado a las modificaciones del aislante en una rama, pero eso no sería muy útil hoy en día.
Como se documenta en el cuadro de diálogo de Intellij IDEA , la función " dejar de lado " no está vinculada a un VCS (herramienta del sistema de control de versiones) sino al IDE en sí, para almacenar temporalmente los cambios pendientes que aún no ha confirmado en la lista de cambios.
Tenga en cuenta que desde Git 2.13 (Q2 2017), ahora también puede guardar archivos individuales .
fuente
git stash && <your actual command> && git stash poppero eso apesta. La opción de archivar y aplicar automáticamente está más cerca de lo que necesitamos.Cuando se utilizan IDE de JetBrains con Git, "se admiten acciones de almacenamiento y desarmado además de archivar y desarmar. Estas características tienen mucho en común; la principal diferencia está en la forma en que se generan y aplican parches. Shelve puede operar con archivos individuales o agrupados de archivos, mientras que Stash solo puede operar con un montón de archivos modificados a la vez. Aquí hay más detalles sobre las diferencias entre ellos ".
fuente
git stash -pque triunfa sobre ambos. Lamentablemente solo en la línea de comando.Además de las respuestas anteriores, hay una nota importante para mí:
shelvees JetBrains productos característica (tales comoWebStorm,PhpStorm,PyCharm, etc.). Pone los archivos archivados en el.idea/shelfdirectorio.stashEs una de lasgitopciones. Pone los archivos escondidos en el.gitdirectorio.fuente
Preferiría archivar los cambios en lugar de esconderlos si no estoy compartiendo mis cambios en otro lugar.
El ocultamiento es una característica de git y no le da la opción de seleccionar archivos específicos o cambios dentro de un archivo. Shelving puede hacer eso, pero esta es una característica específica de IDE, no una característica de git:
Como puede ver, puedo elegir especificar qué archivos / líneas incluir en mi estantería. Tenga en cuenta que no puedo hacer eso con alijo.
Tenga cuidado con el uso de estantes en el IDE puede limitar la portabilidad de sus parches porque esos cambios no se almacenan en una carpeta .git.
Algunos enlaces útiles:
fuente