untracked stash name files git intellij-idea git-stash

name - git stash untracked files



¿Cuál es la diferencia entre IntelliJ''s Shelve y Git stash? (4)

IntelliJ admite git stashes, así como su propio comando de estantería incorporado. Estos parecen ser casi idénticos en propósito y utilidad. ¿Cuál es la diferencia entre ellos?


De la documentation IntelliJ:

En la integración de Git, además de dejar de lado y dejar de lado, se admiten "ocultar" y "deshacer" respectivamente. Estas características tienen mucho en común, la única diferencia está en la forma en que se generan y aplican los parches.

  • Los parches con cambios escondidos son generados por el propio Git. Para aplicarlos más tarde, no necesita IntelliJ IDEA.
  • Los parches con cambios archivados son generados por IntelliJ IDEA. Normalmente, también se aplican a través del IDE. La aplicación de cambios archivados fuera de IntelliJ IDEA también es posible pero requiere pasos adicionales.

Esto es lo que dice la Documentation

Los cambios de escondite son muy similares a las estanterías. La única diferencia está en la forma en que se generan y aplican los parches. Git genera los escondites, y se pueden aplicar desde IntelliJ IDEA o desde afuera. Los parches con cambios archivados son generados por IntelliJ IDEA y también se aplican a través del IDE. Además, el ocultamiento involucra todos los cambios no confirmados, mientras que cuando coloca los cambios en un estante, puede seleccionar algunos de los cambios locales en lugar de archivarlos todos.


Son bastante similares excepto:

  • No puede usar el estante fuera de IDE, porque es la característica de Intellij.
  • Git stash funciona solo con todo el directorio de trabajo e índice. El estante de IntelliJ puede trabajar con archivos individuales y listas de cambios (otra característica de IntelliJ). Como puede ver, por ejemplo, here , a veces es necesario.
  • Idea tiene un mejor soporte incorporado para la estantería. Trabajar con git stash es más sencillo. En particular, puede archivar / cancelar sus cambios o revisar archivos archivados desde la ventana de la herramienta de control de versiones.

Además, en mi humilde opinión, Shelve funciona un poco más rápido, especialmente en un gran proyecto, cuando se cambiaron muchos archivos.

Vea la documentation para más información.


Una ventaja distintiva que tiene Intellij''s Shelve sobre el alijo de Git es que al usar Shelve, puede guardar los cambios que pertenecen a múltiples repositorios en una lista de cambios. Usando stash, necesitaría guardar / desestimar en cada repositorio individualmente. Esto es muy útil en un proyecto grande con múltiples módulos (cada uno con su propio repositorio) donde un trabajo de característica particular puede atravesar múltiples módulos (y, por lo tanto, múltiples repositorios)