SVN używa jednego scentralizowanego repozytorium, aby służyć jako centrum komunikacji dla programistów, a współpraca odbywa się poprzez przekazywanie zestawów zmian między kopiami roboczymi programistów a centralnym repozytorium. Różni się to od modelu rozproszonej współpracy Gita, który daje każdemu deweloperowi własną kopię repozytorium, wraz z własną lokalną historią i strukturą gałęzi. Użytkownicy zazwyczaj muszą udostępnić serię zmian, a nie pojedynczy zestaw zmian., Zamiast zatwierdzać zestaw zmian z kopii roboczej do centralnego repozytorium, Git pozwala na współdzielenie całych gałęzi między repozytoriami.
poleceniegit remote
jest jednym z elementów szerszego systemu, który odpowiada za synchronizację zmian. Rekordy zarejestrowane za pomocą polecenia git remote
są używane w połączeniu z poleceniami git fetch
, git push
I git pull
. Wszystkie te polecenia mają swoje własne obowiązki synchronizacji, które można zbadać na odpowiednich linkach.,
Git remote
poleceniegit remote
umożliwia tworzenie, przeglądanie i usuwanie połączeń z innymi repozytoriami. Połączenia zdalne przypominają raczej zakładki niż bezpośrednie łącza do innych repozytoriów. Zamiast zapewniać dostęp w czasie rzeczywistym do innego repozytorium, służą one jako wygodne nazwy, które mogą być używane do odwoływania się do niezbyt wygodnego adresu URL.
na przykład poniższy diagram pokazuje dwa zdalne połączenia z twojego repo do centralnego repo i innego repo dewelopera., Zamiast odwoływać się do nich pełnymi adresami URL, możesz przekazać skróty origin i john do innych komend Gita.
Git remote usage overview
poleceniegit remote
jest zasadniczo interfejsem do zarządzania listą zdalnych wpisów, które są przechowywane w pliku./.git/config
. Poniższe polecenia są używane do wyświetlania bieżącego stanu listy zdalnych.
przeglądanie zdalnych konfiguracji git
git remote
wyświetla listę zdalnych połączeń z innymi repozytoriami.,
git remote -v
to samo co powyższe polecenie, ale zawierają adres URL każdego połączenia.
Tworzenie i modyfikowanie zdalnych konfiguracji git
poleceniegit remote
jest również wygodną lub 'pomocniczą' metodą modyfikacji pliku./.git/config
. Poniższe polecenia umożliwiają zarządzanie połączeniami z innymi repozytoriami. Poniższe polecenia zmienią plik /.git/config
repo., Wynik następujących poleceń można również uzyskać poprzez bezpośrednią edycję pliku ./.git/config
za pomocą edytora tekstu.
git remote add <name> <url>
Utwórz nowe połączenie ze zdalnym repozytorium. Po dodaniu pilota, będziesz mógł używać go jako wygodnego skrótu dla innych komend Gita.
git remote rm <name>
Usuń połączenie ze zdalnym repozytorium o nazwie.
git remote rename <old-name> <new-name>
Zmień nazwę zdalnego połączenia z na .,
Git remote discussion
Git został zaprojektowany, aby dać każdemu programiście całkowicie odizolowane środowisko programistyczne. Oznacza to, że informacje nie są automatycznie przekazywane między repozytoriami. Zamiast tego programiści muszą ręcznie pobierać zmiany do lokalnego repozytorium lub ręcznie przenosić je z powrotem do centralnego repozytorium. Polecenie git remote
jest naprawdę prostszym sposobem przekazywania adresów URL do tych poleceń „udostępniania”.,
zdalne połączenie origin
gdy sklonujesz repozytorium za pomocągit clone
, automatycznie tworzy zdalne połączenie o nazwie origin wskazujące na sklonowane repozytorium. Jest to przydatne dla programistów tworzących lokalną kopię centralnego repozytorium, ponieważ zapewnia łatwy sposób na pobranie zmian lub opublikowanie lokalnych zmian. To zachowanie jest również powodem, dla którego większość projektów opartych na Git nazywa swoje centralne repozytorium origin.
adresy URL repozytorium
Git obsługuje wiele sposobów odwoływania się do zdalnego repozytorium., Dwa z najprostszych sposobów uzyskania dostępu do zdalnego repo są za pośrednictwem protokołów HTTP i SSH. HTTP jest łatwym sposobem, aby umożliwić anonimowy, tylko do odczytu dostęp do repozytorium. Na przykład:
But, it’s generally not possible to push commits to an HTTP address (you wouldn’t want to allow anonymous pushes anyways). For read-write access, you should use SSH instead:
ssh://user@host/path/to/repo.git
będziesz potrzebował ważnego konta SSH na komputerze hosta, ale poza tym, Git obsługuje uwierzytelniony dostęp przez SSH po wyjęciu z pudełka. Nowoczesne, bezpieczne rozwiązania hostingowe innych firm, takie jak Bitbucket.com dostarczy Ci te adresy URL.
polecenia Git remote
poleceniegit remote
jest jednym z wielu poleceń Git, które pobiera dodatkowe 'polecenia'., Poniżej znajduje się analiza powszechnie stosowanychgit remote
.
ADD <NAME> <URL>
dodaje rekord do./.git/config
dla zdalnego nazwanego w repozytorium url .
akceptuje-f
opcja, która spowodujegit fetch
natychmiast po utworzeniu zdalnego rekordu.
akceptuje opcję, która spowoduje git fetch
natychmiast i zaimportowanie każdego znacznika ze zdalnego repozytorium.,
RENAME <OLD> <NEW>
aktualizacje./.git/config
aby zmienić nazwę rekordu na . Wszystkie gałęzie zdalnego śledzenia i ustawienia konfiguracji pilota są aktualizowane.
REMOVE or RM <NAME>
modyfikuje./.git/config
I usuwa zdalny o nazwie . Wszystkie gałęzie zdalnego śledzenia i ustawienia konfiguracji dla pilota są usuwane.
GET-URL <NAME>
wypisuje adresy URL dla zdalnego rekordu.
akceptuje--push
, push URL jest zapytywany, a nie pobierany.,
z--all
zostaną wyświetlone wszystkie adresy URL pilota.
SHOW <NAME>
wyświetla informacje na wysokim poziomie o pilocie .
PRUNE <NAME>
usuwa wszystkie lokalne gałęzie, które nie są obecne w zdalnym repozytorium.
akceptuje--dry-run
opcja, która wyświetli listę gałęzi, które mają być przycinane, ale w rzeczywistości ich nie przycina.
Git remote examples
oprócz origin, często wygodne jest połączenie z repozytoriami twoich kolegów z drużyny., Na przykład, jeśli twój współpracownik, John, utrzymywał publicznie dostępne repozytorium na dev.example.com/john.git
, możesz dodać połączenie w następujący sposób:
git remote add john http://dev.example.com/john.git
posiadanie tego rodzaju dostępu do repozytoriów poszczególnych deweloperów umożliwia współpracę poza centralnym repozytorium. Może to być bardzo przydatne dla małych zespołów pracujących nad dużym projektem.
wyświetlanie pilotów
domyślnie poleceniegit remote
wyświetli listę wcześniej zapisanych połączeń zdalnych do innych repozytoriów., Spowoduje to powstanie jednoliniowe wyjście, które wyświetla nazwy” zakładek ” nazwy zdalnych repozytoriów.
$ git remote
origin
upstream
other_users_repo
wywołanie git remote
z opcją -v
wyświetli listę nazw zakładek i dodatkowo odpowiedni adres URL repozytorium. Opcja -v
oznacza „verbose”. Poniżej znajduje się Przykładowe wyjście git remote
wyjście.
dodawanie zdalnych repozytoriów
poleceniegit remote add
utworzy nowy rekord połączenia ze zdalnym repozytorium., Po dodaniu pilota, będziesz mógł używać go jako wygodnego skrótu dla innych komend Gita. Aby uzyskać więcej informacji na temat akceptowanej składni URL, zobacz sekcję „adresy URL repozytoriów” poniżej. Polecenie to utworzy nowy rekord w repozytorium ./.git/config
. Przykład tej aktualizacji pliku konfiguracyjnego jest następujący:
sprawdzanie zdalnego
polecenie show może być dołączone do git remote
, aby podać szczegółowe dane wyjściowe dotyczące konfiguracji zdalnego., To wyjście będzie zawierało listę gałęzi powiązanych z pilotem, a także punkty końcowe dołączone do pobierania i pchania.
git remote show upstream
* remote upstream
Fetch URL: https://bitbucket.com/upstream_user/reponame.git
Push URL: https://bitbucket.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
simd-deprecated tracked
tutorial tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
pobieranie i pobieranie zdalnego rekordu
Po skonfigurowaniu zdalnego rekordu za pomocą polecenia git remote
, zdalna nazwa może zostać przekazana jako argument innym poleceniom Git w celu komunikacji ze zdalnym repo. Zarówno git fetch
, jak i git pull
mogą być używane do odczytu ze zdalnego repozytorium., Oba polecenia mają różne operacje, które są szczegółowo wyjaśnione w odpowiednich linkach.
wciskanie do Git remotes
poleceniegit push
jest używane do zapisu do zdalnego repozytorium.
git push <remote-name> <branch-name>
Ten przykład prześle stan lokalny do zdalnego repozytorium określonego przez .
zmiana nazwy i usuwanie pilotów
git remote rename <old-name> <new-name>
poleceniegit remote
zmiana nazwy jest oczywiste. Po wykonaniu tej komendy nastąpi zmiana nazwy zdalnego połączenia z na ., Dodatkowo zmieni to zawartość ./.git/config
, aby zmienić nazwę rekordu dla zdalnego również tam.
git remote rm <name>
poleceniegit remote rm
usunie połączenie ze zdalnym repozytorium określonym przez parametr. Aby zademonstrować, „cofnijmy” zdalny dodatek z naszego ostatniego przykładu. Jeśli wykonamy git remote rm remote_test
, a następnie sprawdzimy zawartość ./.git/config
widzimy, że rekord już nie istnieje.