IntelliJ prend en charge les caches git ainsi que sa propre commande intégrée. Celles-ci semblent avoir un but et une utilité presque identiques. Quelle est la différence entre eux?
Depuis IntelliJ documentation :
Dans l'intégration Git, en plus de la mise en plateau et de la suppression, les fonctions "stashing" et "unstashing" sont respectivement prises en charge. Ces fonctionnalités ont beaucoup en commun, la seule différence réside dans la manière dont les correctifs sont générés et appliqués.
- Les patchs contenant des modifications cachées sont générés par Git lui-même. Pour les appliquer plus tard, vous n’avez pas besoin d’IntelliJ IDEA.
- Les correctifs comportant des modifications en attente sont générés par IntelliJ IDEA. Normalement, ils sont également appliqués via l'EDI. L'application de modifications en dehors de IntelliJ IDEA est également possible mais nécessite des étapes supplémentaires.
Ils sont assez similaires sauf:
Aussi, IMHO, shelve fonctionne un peu plus vite, en particulier dans un grand projet, quand beaucoup de fichiers ont été modifiés.
Voir la documentation pour plus d'informations.
Un avantage distinct de Shij d'Intellij par rapport à la réserve de Git est que, grâce à Shelve, vous pouvez enregistrer les modifications appartenant à plusieurs pensions dans une seule liste de modifications. En utilisant stash, vous auriez besoin de stash/unstash dans chaque dépôt individuellement. Ceci est très utile dans un grand projet avec plusieurs modules (chacun ayant son propre référentiel) où un travail de fonctionnalité particulier peut se chevaucher sur plusieurs modules (et donc plusieurs référentiels).
Voici ce que Documentation Dit
Cacher les changements est très similaire au rayonnage. La seule différence réside dans la manière dont les correctifs sont générés et appliqués. Les caches sont générés par Git et peuvent être appliqués à partir d’IntelliJ IDEA ou à l’extérieur. Les correctifs comportant des modifications stockées sont générés par IntelliJ IDEA et sont également appliqués via l'EDI. De plus, le stockage masqué implique toutes les modifications non validées, tandis que lorsque vous mettez des modifications dans une étagère, vous pouvez sélectionner certaines des modifications locales au lieu de toutes les stocker.