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 remotez 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.