IntelliJ admite git stashes, así como su propio comando shelve integrado. Estos parecen ser casi idénticos en propósito y utilidad. ¿Cuál es la diferencia entre ellos?
IntelliJ admite git stashes, así como su propio comando shelve integrado. Estos parecen ser casi idénticos en propósito y utilidad. ¿Cuál es la diferencia entre ellos?
Respuestas:
De la documentación de IntelliJ :
En la integración de Git, además de colocar y quitar estanterías, se admiten, respectivamente, "esconder" y "deshacer". 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 ocultos son generados por el propio Git. Para aplicarlos más tarde, no necesita IntelliJ IDEA.
- IntelliJ IDEA genera los parches con cambios archivados. Normalmente, también se aplican a través del IDE. También es posible aplicar cambios archivados fuera de IntelliJ IDEA, pero requiere pasos adicionales.
git stash push
.
Son bastante similares excepto:
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.
Consulte la documentación para obtener más información.
git stash -- foo/bar.txt
Una clara ventaja que tiene Shelve de Intellij sobre el alijo de Git es que, al usar Shelve, puede guardar los cambios que pertenecen a varios repositorios en una lista de cambios. Al usar el alijo, necesitaría guardar / desechar en cada repositorio individualmente. Esto es muy útil en un proyecto grande con múltiples módulos (cada uno con su propio repositorio) donde el trabajo de una función particular puede abarcar varios módulos (y por lo tanto, varios repositorios)
Esto es lo que dice la documentación
Los cambios de almacenamiento son muy similares a los estantes. La única diferencia está en la forma en que se generan y aplican los parches. Las reservas son generadas por Git y se pueden aplicar desde dentro o fuera de IntelliJ IDEA. IntelliJ IDEA genera parches con cambios archivados y también se aplican a través del IDE. Además, el almacenamiento implica todos los cambios no comprometidos, mientras que cuando coloca los cambios en un estante, puede seleccionar algunos de los cambios locales en lugar de archivarlos todos.