2012-09-20 10 views
11

Czynność sprawdzania plików w repozytorium kontroli źródła, takim jak git, mercurial lub svn, nazywa się commit. Czy ktoś zna powód, nazywając to commit zamiast tylko sprawdzić w?Dlaczego sprawdza się pliki zwane "commit"?

Angielski nie jest moim językiem ojczystym, więc może to być trochę językowe, ale nie całkiem ją rozumiem, ale do czego naprawdę się zobowiązuję? (Mam nadzieję, że nie popełniam przestępstwa, ale nigdy się nie dowiesz.)

Czy ma to na myśli "wysyłanie do ochrony"? Czy jest to związane z transakcjami (zatwierdzenie na koniec transakcji)?

Odpowiedz

12

Słowo "commit" może również oznaczać zabezpieczenie czegoś do przyszłego użytku lub do zachowania. Na przykład: "Podał hasło do pamięci". Kiedy "zatwierdzasz" swoje zmiany, blokujesz je tak jak teraz, aby zachować je w przyszłości.

5

Należy również pamiętać, że repozytorium kontroli wersji jest referencyjną bazą danych, która jest referencyjna.
Termin commit pochodzi z zarządzania danymi, czyniąc zestaw tymczasowych zmian trwałymi.
(zauważ, że to sprawia, że ​​wiele sensu dla git, gdzie można dodać niepewne zmiany w indeksie z git add, przed zarejestrowaniem ich w repo z git commit)

commit w ramach tych systemów kontroli wersji odnosi się do przesyłając najnowsze zmiany kodu źródłowego do repozytorium, i czyniąc te zmiany częścią repozytorium głównego repozytorium.
Tak więc, gdy inni użytkownicy wykonają z repozytorium UPDATE lub checkout, otrzymają najnowszą zatwierdzoną wersję, chyba że określą, że chcą odzyskać poprzednią wersję kodu źródłowego w repozytorium.

1

Ślepo skopiowany z mojego macs lex, nie 3 wyjaśnić go wystarczająco?

commit |kəˈmɪt| 
verb (commits, committing, committed) [ with obj. ] 
1 ... 
3 (commit something to) transfer something to (a state or place where it can be kept or preserved): he composed a letter but didn't commit it to paper | she committed each tiny feature to memory. 
• consign (someone) officially to prison, especially on remand: he was committed to prison for contempt of court. 
• send (a person or case) for trial in a higher court: the magistrate decided to commit him for trial . 
• send (someone) to be confined in a psychiatric hospital. 
• refer (a parliamentary or legislative bill) to a committee. 
-4

Chodzi głównie o rozróżnienie różnic między scentralizowanym VCS, takim jak Subversion a Distributed VCS. Scentralizowane systemy używają terminologii "check out" i "check in". Warunki te oznaczają, że istnieje jakiś centralny hub lub broker, który kontroluje te operacje. Ma konotację "sejfu", który można otworzyć, a następnie zamknąć. Jest to szczególnie ważne, gdy w pliku znajduje się blokada, jak to jest możliwe w Subversion/TFS itp.

DVCS preferują bardziej agnostyczną terminologię, jak "commit" i "update", ponieważ jest przykładem, że nie ma centralnego brokera zaangażowanego w te operacje.

Byłoby również mylące, aby "sprawdzić" coś, ale potem jeszcze trzeba "popchnąć" na zdalny serwer. "Check in" ma, zwłaszcza w VCS, konotacje, że jest to proces end-to-end. Co oczywiście nie byłoby prawdą w DVCS.

Można prawdopodobnie utworzyć alias polecenia w swojej aplikacji DVCS o nazwie "odprawa", która wykonuje zarówno zatwierdzenie, jak i naciśnięcie. Na przykład.

+3

To jest całkowicie nieprawdziwe. Zarówno CVS, jak i Subversion, dwa najbardziej popularne scentralizowane systemy, niemal wyłącznie używają terminu "commit". – user4815162342

+1

Zatwierdzone tylko wycofane zatwierdzenie, ponieważ było to bezpośrednie zastąpienie CVS. TFS nazywa to zameldowaniem i wymeldowaniem. Nie rozumiem, jak to jest "całkowicie fałszywe". Pytanie wymagało odpowiedzi wyjaśniającej subtelne różnice (w kategoriach języka angielskiego) pomiędzy różnymi pojęciami, a ta odpowiedź stanowi o tym. – nbevans

+1

* Tylko subversion ** zatrzymany ** commit * - to jest właśnie mój punkt, termin "zatwierdzenie" był w rzeczywistości używany przez scentralizowane VCS od dziesięcioleci. Twoja odpowiedź twierdzi, że termin "zatwierdzenie" został wprowadzony przez DVCS w celu odróżnienia od starszego terminu "odprawa", co nie jest prawdą. – user4815162342

Powiązane problemy