IntelliJ obsługuje skrytki git, a także własne wbudowane polecenie shelve. Wydają się one mieć niemal identyczne przeznaczenie i użyteczność. Jaka jest różnica między nimi?
IntelliJ obsługuje skrytki git, a także własne wbudowane polecenie shelve. Wydają się one mieć niemal identyczne przeznaczenie i użyteczność. Jaka jest różnica między nimi?
Odpowiedzi:
Z dokumentacji IntelliJ :
W integracji Git, oprócz regałów i rozkładania na półki, obsługiwane są odpowiednio „stashing” i „unstashing”. Cechy te mają wiele wspólnego, jedyną różnicą jest sposób generowania i stosowania poprawek.
- Poprawki z ukrytymi zmianami są generowane przez sam Git. Aby zastosować je później, nie potrzebujesz IntelliJ IDEA.
- Poprawki ze zmianami odłożonymi na półkę są generowane przez IntelliJ IDEA. Zwykle są one również stosowane przez IDE. Możliwe jest również wprowadzenie zmian z półki poza IntelliJ IDEA, ale wymaga to dodatkowych kroków.
git stash push
.
Są dość podobne, z wyjątkiem:
Ponadto IMHO, półka działa nieco szybciej, szczególnie w dużym projekcie, w którym zmieniono wiele plików.
Więcej informacji można znaleźć w dokumentacji .
git stash -- foo/bar.txt
Jedną z wyraźnych zalet półki Intellij w porównaniu ze zwykłym magazynem Gita jest to, że używając Shelve, możesz zapisać zmiany należące do wielu repozytoriów na jednej liście zmian. Używając skrytki, musiałbyś schować / rozpakować osobno w każdym repozytorium. Jest to bardzo przydatne w dużym projekcie z wieloma modułami (każdy z własnym repozytorium), w którym działanie określonej funkcji może obejmować wiele modułów (a zatem wiele repozytoriów)
Oto, co mówi Dokumentacja
Zmiany w przechowywaniu są bardzo podobne do regałów. Jedyną różnicą jest sposób generowania i stosowania poprawek. Skrytki są generowane przez Git i mogą być stosowane z poziomu IntelliJ IDEA lub poza nim. Poprawki ze zmianami odłożonymi na półkę są generowane przez IntelliJ IDEA i są również stosowane przez IDE. Ponadto przechowywanie obejmuje wszystkie niezatwierdzone zmiany, a kiedy umieszczasz zmiany na półce, możesz wybrać niektóre z lokalnych zmian zamiast umieszczać je wszystkie na półce.