IntelliJ unterstützt Git-Stashes sowie einen eigenen integrierten Regalbefehl. Diese scheinen in Zweck und Nützlichkeit nahezu identisch zu sein. Was ist der Unterschied zwischen ihnen?
IntelliJ unterstützt Git-Stashes sowie einen eigenen integrierten Regalbefehl. Diese scheinen in Zweck und Nützlichkeit nahezu identisch zu sein. Was ist der Unterschied zwischen ihnen?
Antworten:
Aus der IntelliJ- Dokumentation :
In der Git-Integration werden neben "Shelving" und "Unhelving" auch "Stashing" und "Unstashing" unterstützt. Diese Funktionen haben vieles gemeinsam. Der einzige Unterschied besteht in der Art und Weise, wie Patches generiert und angewendet werden.
- Patches mit versteckten Änderungen werden von Git selbst generiert. Um sie später anzuwenden, benötigen Sie IntelliJ IDEA nicht.
- Patches mit zurückgestellten Änderungen werden von IntelliJ IDEA generiert. Normalerweise werden sie auch über die IDE angewendet. Das Anwenden von Änderungen außerhalb von IntelliJ IDEA ist ebenfalls möglich, erfordert jedoch zusätzliche Schritte.
git stash push
.
Sie sind ziemlich ähnlich, außer:
Außerdem funktioniert das Regal meiner Meinung nach etwas schneller, insbesondere in einem großen Projekt, in dem viele Dateien geändert wurden.
Weitere Informationen finden Sie in der Dokumentation .
git stash -- foo/bar.txt
Ein klarer Vorteil von Intellijs Shelve gegenüber Git's Stash besteht darin, dass Sie mit Shelve Änderungen, die zu mehreren Repos gehören, in einer Änderungsliste speichern können. Bei Verwendung von stash müssten Sie jedes Repo einzeln verstauen / entstapeln. Dies ist sehr nützlich in einem großen Projekt mit mehreren Modulen (jedes mit einem eigenen Repo), bei denen eine bestimmte Feature-Arbeit mehrere Module (und damit mehrere Repos) umfassen kann.
Hier ist, was die Dokumentation sagt
Das Verstauen von Änderungen ist dem Regalen sehr ähnlich. Der einzige Unterschied besteht in der Art und Weise, wie Patches generiert und angewendet werden. Stashes werden von Git generiert und können innerhalb oder außerhalb von IntelliJ IDEA angewendet werden. Patches mit zurückgestellten Änderungen werden von IntelliJ IDEA generiert und auch über die IDE angewendet. Das Verstecken umfasst auch alle nicht festgeschriebenen Änderungen. Wenn Sie Änderungen an einem Regal vornehmen, können Sie einige der lokalen Änderungen auswählen, anstatt sie alle zu speichern.