Jaka jest różnica między półką IntelliJ a magazynem Git?


Odpowiedzi:


69

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.

23
Cóż, więc jakie są zalety regałów, skoro jest po prostu „mniej kompatybilny” ze zwykłym gitem?
— MaxiWheat

17
Wygląda na to, że regały byłyby przydatne, gdybyś używał VCS, który nie miał funkcji natywnego stylu skrytki. Jeśli używasz git, nie widzę żadnych realnych korzyści.
— Daniel Compton

5
„Rzeczywiste korzyści” są wymienione w odpowiedzi według id.bobr. Najważniejsze jest dla mnie możliwość wyboru plików / fragmentów do przechowywania, podobnie jak podczas zatwierdzania.
— Martin Melka

1
Od wersji Git 2.13 możliwe jest przechowywanie pojedynczych plików z rozszerzeniem git stash push.
— Deric Lima

Półka zapewnia znacznie lepszy przegląd tego, co jest w środku i co się różni. Łatwiej jest zastosować tylko niektóre części zmienionych plików. Na początku nie byłem przekonany do tej funkcji, ale teraz używam jej częściej niż skrytki.
— itachi

47

Są dość podobne, z wyjątkiem:

  • Nie możesz używać Shelve poza IDE, ponieważ jest to funkcja Intellij.
  • Git stash działa tylko z całym katalogiem roboczym i indeksem. Półka IntelliJ może pracować z pojedynczymi plikami i listami zmian (kolejna funkcja IntelliJ). Jak widać na przykład tutaj , czasami jest to konieczne.
  • Pomysł ma lepiej wbudowaną obsługę półki. Praca z git stash jest prostsza. W szczególności można odłożyć zmiany do półki lub przejrzeć pliki z półki z okna narzędzia kontroli wersji.

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 .


Uważam, że kliknięcie prawym przyciskiem myszy elementu niezmiennego, aby szybko odłożyć go na półkę, jest bardzo przydatne. Jak wspominasz, uważam, że jest to nieco szybsze.
— vikingsteve

4
„Magazyn Git działa tylko z całym katalogiem roboczym i indeksem” - to jest błędne. Git stash może przechowywać również pojedyncze pliki i foldery - np .:git stash -- foo/bar.txt
— Chaoz,

21

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)


0

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.