Jaka jest różnica między git clone a checkout?
Jaka jest różnica między git clone
a git checkout
?
5 answers
Strona podręcznika dla kasy: http://git-scm.com/docs/git-checkout
Strona podręcznika dla klonu: http://git-scm.com/docs/git-clone
Podsumowując, clone służy do pobierania repozytoriów, których nie masz, checkout służy do przełączania się między gałęziami w repozytorium, które już posiadasz.
Uwaga: dla tych, którzy mają tło SVN/CVS i są nowi w Git, odpowiednikiem git clone
W SVN/CVS jest checkout
. To samo sformułowanie różnych terminów jest często mylące.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-27 09:36:19
Git clone {[4] } jest pobieraniem repozytoriów ze zdalnego serwera git.
Git checkout ma na celu sprawdzenie żądanego statusu repozytorium (np. gałęzi lub poszczególnych plików).
Np. aktualnie znajdujesz się na gałęzi master i chcesz przełączyć się na gałąź develop.
git checkout develop_branch
Np. chcesz sprawdzić status konkretnego pliku
git checkout commit_point_A -- <filename>
Oto dobra Referencja do nauki Gita, pozwala zrozumieć wiele łatwiej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-07 00:17:33
Jedną rzeczą do zauważenia jest brak jakiegokolwiek "Copyout" w git. To dlatego, że masz już pełną kopię w lokalnym repo - twój lokalny repo jest clone
wybranego przez Ciebie zewnętrznego repo. Tak więc masz w rzeczywistości osobiste checkout
Wszystko , bez umieszczania "blokady" na tych plikach w referencji repo.
Git dostarcza wartości skrótu SHA1 jako mechanizm sprawdzania, czy kopia pliku / drzewa katalogów / commit / repo jest dokładnie taka sama jak ten używany przez tego, kto jest w stanie zadeklarować rzeczy jako "mistrz" w hierarchii zaufania. Pozwala to uniknąć tych wszystkich "blokad", które powodują, że większość systemów SCM się dławi (z typowymi problemami z prywatnymi kopiami, dużymi połączeniami i brakiem rzeczywistej kontroli lub zarządzania kodem źródłowym ;-) !
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-04 13:05:39
Po prostu Git checkout ma 2 zastosowania
- przełączanie pomiędzy istniejącymi lokalnymi oddziałami jak
git checkout <existing_local_branch_name>
- Utwórz nową gałąź z bieżącej gałęzi używając flag-b. Załóżmy, że jeśli jesteś w gałęzi master, to
git checkout -b <new_feature_branch_name>
utworzy nową gałąź z zawartością gałęzi master i przełączy się na nowo utworzoną gałąź
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-27 12:52:14
checkout
może być używany dla wielu przypadków:
1. przypadek : przełączanie pomiędzy gałęziami w repozytorium lokalnym
Na przykład :
git checkout exists_branch_to_switch
Możesz również utworzyć nową gałąź i przełączyć się w tym przypadku za pomocą -b
git checkout -b new_branch_to_switch
Drugi przypadek : Przywróć Plik z X rev
git checkout rev file_to_restore
...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-05 18:11:27