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. Крім того, закріплення включає в себе всі незавершені зміни, тоді як коли ви поміщаєте зміни на полицю, ви можете вибрати деякі локальні зміни, замість того, щоб відкласти всі.