IntelliJ підтримує схованки git, а також власну вбудовану команду на полиці. Здається, вони майже однакові за призначенням та корисністю. Яка різниця між ними?
IntelliJ підтримує схованки git, а також власну вбудовану команду на полиці. Здається, вони майже однакові за призначенням та корисністю. Яка різниця між ними?
Відповіді:
З документації IntelliJ :
В інтеграції Git, окрім полиць та розкладання, підтримуються, відповідно, "зберігання" та "невідкладання". Ці функції мають багато спільного, різниця лише в тому, як генеруються та застосовуються патчі.
- Патчі зі схованими змінами генеруються самим Git. Щоб застосувати їх пізніше, вам не потрібен IntelliJ IDEA.
- Патчі з відкладеними змінами генеруються IntelliJ IDEA. Зазвичай вони також застосовуються через IDE. Застосування змін на полиці за межами IntelliJ IDEA також можливо, але вимагає додаткових кроків.
git stash push.
Вони досить схожі за винятком:
Крім того, IMHO, полиця працює трохи швидше, особливо у великому проекті, коли було змінено багато файлів.
Для отримання додаткової інформації дивіться документацію .
git stash -- foo/bar.txt
Однією явною перевагою, яку має Intellij's Shelve перед простим сховищем Git, є те, що за допомогою Shelve ви можете зберігати зміни, що належать до кількох репозиторіїв в одному списку змін. Використовуючи сховання, вам потрібно буде зберігати / знімати в кожному репо окремо. Це дуже корисно у великому проекті з декількома модулями (кожен з яких має своє репозиторій), де певна робота над функцією може охоплювати кілька модулів (і, отже, кілька репозиторіїв)
Ось що говорить Документація
Зберігання змін дуже схоже на стелажі. Різниця лише в тому, як генеруються та застосовуються патчі. Зберігання генеруються Git і можуть застосовуватися як в межах IntelliJ IDEA, так і поза ним. Патчі з відкладеними змінами генеруються IntelliJ IDEA і також застосовуються через IDE. Крім того, закріплення включає в себе всі незавершені зміни, тоді як коли ви поміщаєте зміни на полицю, ви можете вибрати деякі локальні зміни, замість того, щоб відкласти всі.