git clone (Polski)

tutaj szczegółowo przeanalizujemy polecenie git clone. git clone jest narzędziem wiersza poleceń Git, które służy do kierowania na istniejące repozytorium i tworzenia klonu lub kopii repozytorium docelowego. Na tej stronie omówimy rozszerzone opcje konfiguracji i typowe przypadki użycia git clone., Niektóre punkty, które omówimy, to:

  • klonowanie lokalnego lub zdalnego repozytorium
  • klonowanie gołego repozytorium
  • użycie płytkich opcji do częściowego klonowania repozytoriów
  • składnia Url Git i obsługiwane protokoły

podczas tworzenia podręcznika dla repozytoriów omówiliśmy podstawowy przypadek użyciagit clone. Na tej stronie omówiono bardziej złożone scenariusze klonowania i konfiguracji.,

cel: repo-to-repo collaboration development copy

Jeśli projekt został już skonfigurowany w centralnym repozytorium, poleceniegit clone jest najczęstszym sposobem uzyskania kopii deweloperskiej przez użytkowników. Podobnie jak git init, klonowanie jest zazwyczaj operacją jednorazową. Gdy programista uzyska kopię roboczą, wszystkie operacje kontroli wersji i współpraca są zarządzane za pośrednictwem lokalnego repozytorium.,

Współpraca Repo-to-repo

ważne jest, aby zrozumieć, że pomysł Gita na „kopię roboczą” jest bardzo różny od tego, który otrzymujesz, sprawdzając kod z repozytorium SVN. W przeciwieństwie do SVN, Git nie rozróżnia między kopią roboczą a centralnym repozytorium—wszystkie są pełnoprawnymi repozytoriami Git.

To sprawia, że współpraca z Gitem jest zasadniczo inna niż z SVN. Podczas gdy SVN zależy od relacji pomiędzy centralnym repozytorium a kopią roboczą, model współpracy Gita opiera się na interakcji repozytorium-repozytorium., Zamiast sprawdzać kopię roboczą do centralnego repozytorium SVN, wypychasz lub ściągasz commity z jednego repozytorium do drugiego.

oczywiście, nic nie stoi na przeszkodzie, aby nadać konkretnemu reposowi Gita specjalne znaczenie. Na przykład, po prostu wyznaczając jedno repozytorium Git jako „centralne” repozytorium, można replikować scentralizowany przepływ pracy za pomocą Git. Chodzi o to, że odbywa się to poprzez konwencje, a nie poprzez podłączenie do samego VCS.,

użycie

git clone służy głównie do wskazywania istniejącego repo i klonowania lub kopiowania tego repo w nowym katalogu, w innej lokalizacji. Oryginalne repozytorium może znajdować się na lokalnym systemie plików lub na zdalnej maszynie dostępnej z obsługiwanych protokołów. Poleceniegit clone kopiuje istniejące repozytorium Git. Jest to coś w rodzaju SVN checkout, z tą różnicą, że „working copy” jest pełnoprawnym repozytorium Git—posiada własną historię, zarządza własnymi plikami i jest całkowicie odizolowanym środowiskiem od oryginalnego repozytorium.,

dla wygody klonowanie automatycznie tworzy zdalne połączenie o nazwie „origin” wskazujące na oryginalne repozytorium. Ułatwia to interakcję z centralnym repozytorium. To automatyczne połączenie jest nawiązywane przez utworzenie Git refs do zdalnych głowic gałęzi pod refs/remotes/originI inicjalizację remote.origin.urlI remote.origin.fetch zmiennych konfiguracyjnych.

przykład demonstrujący użycie git clone można znaleźć w podręczniku konfigurowanie repozytorium., Poniższy przykład pokazuje, jak uzyskać lokalną kopię centralnego repozytorium przechowywaną na serwerze dostępnym pod adresem example.com używając nazwy użytkownika SSH john:

git clone ssh://[email protected]/path/to/my-project.git 
cd my-project
# Start working on the project

pierwsze polecenie inicjalizuje nowe repozytorium Git w folderze my-project lokalnej Maszyny i zapełnia ją zawartością centralnego repozytorium. Następnie możesz nagrać płytę cd do projektu i rozpocząć edycję plików, zatwierdzanie migawek i interakcję z innymi repozytoriami., Należy również zauważyć, że rozszerzenie .git jest pomijane w sklonowanym repozytorium. Odzwierciedla to nie nagi status kopii lokalnej.

klonowanie do określonego folderu

git clone <repo> <directory>

klonowanie repozytorium znajdującego się pod adresem<repo> do folderu o nazwie~<directory>! na maszynie lokalnej.

klonowanie określonego znacznika

git clone --branch <tag> <repo>

klonowanie repozytorium znajdującego się pod adresem<repo> I klonowanie tylko ref dla<tag>.,

Shallow clone

git clone -depth=1 <repo>

Sklonuj repozytorium znajdujące się pod adresem<repo> I Klonuj tylko historię zatwierdzeń
określoną opcją depth=1. W tym przykładzie tworzony jest klon <repo> I tylko najnowszy commit jest dołączany do nowego sklonowanego Repo. Płytkie klonowanie jest najbardziej przydatne podczas pracy z repozytoriami, które mają obszerną historię zatwierdzeń. Obszerna historia zatwierdzeń może powodować problemy ze skalowaniem, takie jak ograniczenia wykorzystania miejsca na dysku i długi czas oczekiwania podczas klonowania., Płytki klon może pomóc złagodzić te problemy ze skalowaniem.

opcje konfiguracji

git clone-branch

argument -branchpozwala określić konkretną gałąź do sklonowania zamiast gałęzi, do której wskazuje zdalna HEAD, Zwykle gałąź master. Ponadto możesz przekazać znacznik zamiast gałęzi dla tego samego efektu.

git clone -branch new_feature git://remoterepository.git

powyższy przykład sklonuje tylko gałąźnew_feature ze zdalnego repozytorium Git., Jest to czysto przekonujące narzędzie, aby zaoszczędzić czas od pobraniaHEAD ref repozytorium, a następnie konieczności dodatkowo pobrać potrzebny ref.

git clone-mirror vs.git clone-bare

git clone –bare

podobne do git init --bare, gdy argument -bare zostanie przekazany do git clone, Kopia zdalnego repozytorium zostanie być wykonane z pominiętym katalogiem roboczym., Oznacza to, że zostanie utworzone repozytorium z historią projektu, z której można wypchnąć i wyciągnąć, ale nie można go bezpośrednio edytować. Ponadto żadne zdalne gałęzie dla repo nie będą skonfigurowane z repozytorium -bare. Podobnie jak git init --bare, jest on używany do tworzenia hostowanego repozytorium, którego programiści nie będą edytować bezpośrednio.

git clone –mirror

podanie argumentu--mirror domyślnie przekazuje również argument--bare., Oznacza to, że zachowanie --barejest dziedziczone przez --mirror. Powoduje to nagie repo bez edytowalnych plików roboczych. Ponadto --mirror sklonuje wszystkie rozszerzone refy zdalnego repozytorium i utrzymuje konfigurację zdalnego śledzenia gałęzi. Możesz następnie uruchomićgit remote update na serwerze lustrzanym, a to nadpisze wszystkie refy z repo origin. Daje ci dokładną „lustrzaną” funkcjonalność.,

inne opcje konfiguracyjne

obszerną listę innych opcji git clone znajdziesz w oficjalnej dokumentacji Gita. W tym dokumencie omówimy inne popularne opcje.

git clone –template

git clone --template=<template_directory> <repo location>

klonuje repo pod adresem<repo location> I stosuje szablon z<template directory> do nowo utworzonej lokalnej gałęzi. Dokładne omówienie szablonów Gita można znaleźć na naszej stronie git init.,

adresy URL Git

Git posiada własną składnię adresów URL, która służy do przekazywania zdalnych lokalizacji repozytoriów poleceniom Git. Ponieważ git clone jest najczęściej używany w zdalnych repozytoriach, sprawdzimy tutaj składnię Url Gita.

Git URL protocols

-SSH

Secure Shell (SSH) to wszechobecny uwierzytelniony protokół sieciowy, który jest domyślnie konfigurowany na większości serwerów. Ponieważ SSH jest protokołem uwierzytelnionym, musisz ustalić poświadczenia z serwerem hostingowym przed nawiązaniem połączenia., ssh://host.xz/path/to/repo.git/

– GIT

– HTTP

Hyper text transfer protocol. Protokół sieciowy, najczęściej używany do przesyłania danych HTML strony internetowej przez Internet. Git może być skonfigurowany do komunikacji poprzez HTTP

Summary

w tym dokumencie przyjrzeliśmy się dokładnie git clone. Najważniejsze to:
git clone służy do tworzenia kopii docelowego repo

2. Docelowy repo może być lokalny lub zdalny

3. Git obsługuje kilka protokołów sieciowych, aby połączyć się ze zdalnymi reposami

4., Dostępnych jest wiele różnych opcji konfiguracyjnych, które zmieniają zawartość klonu

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przejdź do paska narzędzi