No estoy muy familiarizado con el shelve
aspecto de Git. Si stash
se utiliza para dejar de lado el trabajo inacabado, ¿qué es shelve
entonces? ¿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
shelve
No es un comando git. ¿Cuál es el contexto para esta pregunta, de dónde provienen estos términos?shelve
existe en algunas otras herramientas pero no es parte de git.shelve
bzr, hg, etc. ¿Se refiere a algún paquete de interoperabilidad git?Respuestas:
git shelve
no 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 pop
pero 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 -p
que triunfa sobre ambos. Lamentablemente solo en la línea de comando.Además de las respuestas anteriores, hay una nota importante para mí:
shelve
es JetBrains productos característica (tales comoWebStorm
,PhpStorm
,PyCharm
, etc.). Pone los archivos archivados en el.idea/shelf
directorio.stash
Es una de lasgit
opciones. Pone los archivos escondidos en el.git
directorio.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