Trudno mi zrozumieć, ponieważ nie mogłem znaleźć znaczenia słów użytych w czynnościach. Sprawdziłem słownik pod kątem znaczenia „etap” i żadne z tych znaczeń nie było powiązane z koncepcjami kontroli źródła.
Co oznacza „etap” w kontekście git?
git
version-control
000
źródło
źródło
git add file.ext
określonego pliku lubgit add .
wpłynięcie na wszystkie zmodyfikowane i nieśledzone pliki. Pliki dodane w ten sposób są nazywane „etapowymi” i zostaną uwzględnione w następnym „zatwierdzeniu”. Zatwierdzenie jest migawką twojej pracy utworzonej npgit commit -m "I wrote something"
. Za pomocą .Odpowiedzi:
Aby wyeksponować plik, wystarczy po prostu dobrze przygotować go do zatwierdzenia. Git ze swoim indeksem pozwala zatwierdzać tylko niektóre części zmian, które wprowadziłeś od ostatniego zatwierdzenia. Załóżmy, że pracujesz nad dwiema funkcjami - jedna jest zakończona, a druga wymaga jeszcze trochę pracy. Chciałbyś dokonać zatwierdzenia i wrócić do domu (wreszcie godzina 5!), Ale nie chciałbyś zatwierdzić części drugiej funkcji, która nie została jeszcze wykonana. Wystawiasz części, o których wiesz, że należą do pierwszej funkcji, i zatwierdzasz. Teraz zatwierdzenie jest projektem z pierwszą wykonaną funkcją, podczas gdy druga jest wciąż w trakcie pracy w twoim katalogu roboczym.
źródło
Ponieważ do tej pory wszyscy odpowiedzieli na to „formalnie”, pozwólcie, że zrobię to z alternatywami, aby poprawić uczenie się dzięki sile metafor.
Tak więc obszar inscenizacji wygląda następująco:
To magiczne !
źródło
Etapowanie jest krokiem przed procesem zatwierdzania w git. Oznacza to, że zatwierdzenie w git odbywa się w dwóch etapach: pomostowym i rzeczywistym.
Tak długo, jak zestaw zmian znajduje się w obszarze przemieszczania, git pozwala edytować go tak, jak chcesz (zamieniać pliki przemieszczania na inne wersje plików przemieszczania, usuwać zmiany ze przemieszczania itp.).
Przerwany czas metafory:
Rozważ scenariusz, w którym dzwonisz do osób przeprowadzających, aby przenieść swoje rzeczy ze starego mieszkania do nowego. Zanim to zrobisz, przejrzysz swoje rzeczy, zdecydujesz, co zabierzesz ze sobą i co wyrzucisz, zapakujesz w torby i zostawisz w głównym korytarzu. Po prostu przyjeżdżają, zabierają (już spakowane) torby z korytarza i transportują je. W tym przykładzie wszystko się dzieje, dopóki ruchowcy nie zdobędą twoich rzeczy, jest inscenizowany: sam decydujesz, co się dzieje, jak je spakować i tak dalej (np. Możesz zdecydować, że połowa twoich rzeczy zostanie wyrzucona, zanim ludzie się tam dostaną - to część inscenizacji).
Z technicznego punktu widzenia etapowanie obsługuje również transakcyjne zatwierdzenia, dzieląc wszystkie operacje na to, co może zawieść (etapowanie) i co nie może zawieść (zatwierdzenie):
Zatwierdzenie w git jest implementowane transakcyjnie po pomyślnym przemieszczeniu. Kilka etapów przemieszczania może się nie powieść (na przykład musisz zatwierdzić, ale twój dysk twardy jest w 99,9999% zapełniony, a git nie ma miejsca na wykonanie zatwierdzenia). To nie powiedzie się w procesie przemieszczania (twoje repozytorium nie zostanie uszkodzone przez częściowe zatwierdzenie), a proces przemieszczania nie wpłynie na historię zmian (nie uszkodzi twojego repozytorium w przypadku błędu).
źródło
Przygotowanie pliku to przygotowanie go do zatwierdzenia. Ponieważ git udostępnia tę akcję kontroli użytkowników, pozwala tworzyć częściowe zatwierdzenia lub modyfikować plik, ustawiać go, modyfikować ponownie, a jedynie zatwierdzać lub przywracać oryginalne modyfikacje.
Stopniowanie umożliwia lepszą kontrolę dokładnie nad tym, jak chcesz podejść do kontroli wersji.
źródło
Aby dodać do innych doskonałych odpowiedzi, oto nazwa „etap” pochodzi:
W języku angielskim „na scenę” może oznaczać
(z http://oxforddictionaries.com/definition/stage )
Nazwa „inscenizacja” dla funkcji git wywodzi się z tego znaczenia: Podczas inscenizacji przygotowujesz i organizujesz zatwierdzenie. Oczywiście zatwierdzenie nie jest tym samym, co wykonanie, ale jest ważnym wydarzeniem w VCS :-).
źródło
W większości innych systemów kontroli wersji istnieją dwa miejsca do przechowywania danych: kopia robocza (foldery / pliki, których aktualnie używasz) i magazyn danych (gdzie kontrola wersji decyduje o sposobie pakowania i przechowywania zmian). W Git jest trzecia opcja: obszar postoju (lub indeks). Zasadniczo jest to dok załadunkowy, w którym można ustalić, jakie zmiany zostaną wysłane.
źródło: http://gitready.com/beginner/2009/01/18/the-staging-area.html
źródło
„Etap” jest technicznie wymaganym pośrednim etapem procesu sprawdzania pliku, a mianowicie zebraniem zmian, które zostaną dodane do repozytorium. Autorzy Git postanowili uczynić ten krok widocznym i trwałym, gdy inne VCS sprawiają, że jest to przejściowa część procesu zatwierdzania. Więc to tylko opcja, którą daje ci git, ponieważ może, więc dlaczego nie?
Z mojego punktu widzenia najważniejsze jest to, że git „stage” nie pozwala innym VCS na używanie punktu kontrolnego do pliku. W rzeczywistości jest to nienazwany, nieskomentowany lokalny zatwierdzenie, które daje pośredni krok między wykonaniem całej pracy i przekazaniem go do repozytorium na stałe, a nie zapisaniem niczego w lokalnym repozytorium.
Załóżmy na przykład, że funkcja jest częściowo ukończona. Jest w stabilnym stanie, przechodzi wszystkie testy i może przejść do produkcji, ale masz więcej pracy. Możesz wprowadzić wszystkie zmiany, a następnie kontynuować pracę nad tą funkcją.
Później będziesz mógł po prostu zatwierdzić to, co przygotowałeś (i wypchnąć to zatwierdzenie do zdalnego repozytorium) lub dodać nowe zmiany do obszaru pomostowego, a następnie zatwierdzić to wszystko od razu, lub cofnąć tylko nowe zmiany i przywróć katalog roboczy do stanu, w jakim znajdował się podczas wprowadzania zmian.
Zupełnie możliwe jest całkowite pominięcie strefy przeciwności i skorzystanie z
-a
opcji,git commit
jeśli nie uważasz strefy przeciwności za przydatną koncepcję. Wiele osób pomija etapy, a GUI zwykle na to pozwalają.źródło
Rozumiem, załóżmy, że rozwijam funkcję logowania i wymagam 5 kolejnych kroków do wykonania. Tak więc inscenizacja pomoże ci pracować nad krokami takimi jak
zrobione z krokiem 1 na etapie.
zrobione z krokiem 2, teraz zarówno krok 1, jak i krok 2 są poprawnymi etapami.
zepsuć się z krokiem 3, nie ma problemu, sprawdź ostatni etapowy etap, który jest krokiem 2 w ten
sam sposób po wykonaniu wszystkich 5 kroków, co oznacza, że funkcja jest zakończona, teraz wykonaj zatwierdzenie.
źródło