Close

git remote

SVN używa jednego scentralizowanego repozytorium, aby służyć jako centrum komunikacyjne dla programistów, a współpraca odbywa się poprzez przekazywanie zestawów zmian między kopiami roboczymi programistów a centralnym repozytorium. Z kolei model współpracy Git przydziela każdemu programiście własną kopię repozytorium, wraz z własną lokalną historią i strukturą gałęzi. Użytkownicy zazwyczaj muszą udostępniać serię commitów zamiast pojedynczego zestawu zmian. Zamiast commita zestawu zmian z kopii roboczej do centralnego repozytorium Git umożliwia udostępnianie całych gałęzi między repozytoriami.

Polecenie git 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 służą do wykonywania zadań związanych z synchronizacją, z opisem których można się zapoznać, klikając odpowiednie łącza.


git remote


Polecenie git remote umożliwia tworzenie, przeglądanie i usuwanie połączeń z innymi repozytoriami. Połączenia zdalne przypominają bardziej zakładki niż bezpośrednie łącza do innych repozytoriów. Zamiast zapewniać dostęp w czasie rzeczywistym do innego repozytorium, służą jako wygodne nazwy, których można użyć, aby odwołać się do niezbyt wygodnego adresu URL.

Na przykład poniższy diagram pokazuje dwa zdalne połączenia z repozytorium do centralnego repozytorium i repozytorium innego programisty. Zamiast odwoływać się do nich za pomocą pełnych adresów URL, możesz przekazać skróty origin i john do innych poleceń Git.

Łączenie z innymi repozytoriami przy użyciu git remote
Okno konsoli
materiały pokrewne

Zaawansowany dziennik Git

Logo Bitbucket
POZNAJ ROZWIĄZANIE

Poznaj środowisko Git z rozwiązaniem Bitbucket Cloud

Używanie polecenia git remote


Polecenie git remote jest zasadniczo interfejsem do zarządzania listą zdalnych wpisów przechowywanych w pliku ./.git/config repozytorium. Opisane poniżej polecenia służą do wyświetlania bieżącego stanu listy zdalnej.

Wyświetlanie konfiguracji git remote


git remote

Wyświetla listę zdalnych połączeń z innymi repozytoriami.

git remote -v

Działa jak powyższe polecenie, ale zawiera adres URL każdego połączenia.

Tworzenie i modyfikowanie konfiguracji git remote


Polecenie git remote jest również wygodną lub „pomocniczą” metodą modyfikowania pliku ./.git/config repozytorium. Polecenia przedstawione poniżej umożliwiają zarządzanie połączeniami z innymi repozytoriami. Następujące polecenia zmodyfikują plik /.git/config repozytorium. To samo można również osiągnąć poprzez bezpośrednią edycję pliku ./.git/config w edytorze tekstu.

git remote add <name> <url>

Tworzy nowe połączenie ze zdalnym repozytorium. Po dodaniu zdalnej lokalizacji będzie można użyć zmiennej jako wygodnego skrótu do zmiennej w innych poleceniach Git.

git remote rm <name>

Usuwa połączenie ze zdalnym repozytorium .

git remote rename <old-name> <new-name>

Zmienia nazwę połączenia zdalnego ze <stara-nazwa> na <nowa-nazwa>.

Git remote — omówienie


Rozwiązanie Git zostało zaprojektowane, 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ć commity z gałęzi nadrzędnych do swojego lokalnego repozytorium lub ręcznie wypychać lokalne commity z powrotem do centralnego repozytorium. Polecenie git remote jest po prostu łatwiejszym sposobem przekazywania adresów URL do tych poleceń udostępniania.

Zdalne połączenie origin


Kiedy klonujesz repozytorium za pomocą polecenia git clone, automatycznie tworzy ono zdalne połączenie o nazwie origin, które wskazuje klonowane repozytorium. To przydatna funkcja dla programistów tworzących lokalną kopię centralnego repozytorium, ponieważ zapewnia łatwy sposób na ściąganie kodu zmian w gałęziach nadrzędnych lub publikowanie lokalnych commitów. Dlatego też w większości projektów opartych na Git centralne repozytorium nazywa się „origin”.

Adresy URL repozytoriów


Git obsługuje wiele sposobów odwoływania się do zdalnego repozytorium. Dwa najprostsze metody dostępu do zdalnego repozytorium to protokół HTTP i SSH. HTTP pozwala łatwo przyznać anonimowy dostęp tylko do odczytu do repozytorium. Przykład:

http://host/path/to/repo.git

Generalnie nie można jednak wypychać commitów pod adres HTTP (poza tym kto by chciał pozwolić na anonimowe wypychanie). Aby uzyskać dostęp do odczytu i zapisu, należy więc zamiast tego użyć protokołu SSH:

ssh://user@host/path/to/repo.git

Potrzebne będzie ważne konto SSH na komputerze hosta, ale Git obsługuje też uwierzytelniony dostęp przez SSH. Odpowiednie adresy URL można znaleźć w nowoczesnych i bezpiecznych rozwiązaniach hostingowych, takich jak Bitbucket.com.

Polecenia git remote


Polecenie git remote jest jednym z wielu poleceń Git, które pobiera dodatkowe „podpolecenia”. Poniżej znajduje się omówienie powszechnie używanych podpoleceń git remote.

ADD <NAME> <URL>

Dodaje do pliku ./.git/config rekord dla połączenia zdalnego o nazwie <nazwa> pod adresem URL <adres-url>.

Akceptuje opcję -f, która wykona polecenie git fetch natychmiast po utworzeniu rekordu zdalnego.

Akceptuje opcję --tags, która natychmiast wykona polecenie git fetch i zaimportuje każdy tag z repozytorium zdalnego.

RENAME <OLD> <NEW>

Aktualizuje plik ./.git/config, aby zmienić nazwę rekordu <STARY> na <NOWY>. Wszystkie gałęzie zdalnego śledzenia i ustawienia konfiguracji zdalnego połączenia są aktualizowane.

REMOVE or RM <NAME>

Modyfikuje plik ./.git/config i usuwa połączenie zdalne o nazwie <NAZWA>. Wszystkie gałęzie zdalnego śledzenia i ustawienia konfiguracji połączenia zdalnego są usuwane.

GET-URL <NAME>

Wyświetla listę adresów URL dla rekordu zdalnej lokalizacji.

Akceptuje opcję --push, odpytywane są adresy URL wypychania, a nie pobierania.

Opcja --all powoduje wyświetlenie listy wszystkich adresów URL połączeń zdalnych.

SHOW <NAME>

Wyświetla dane wyjściowe wysokiego poziomu dotyczące połączenia zdalnego <NAZWA>.

PRUNE <NAME>

Usuwa wszystkie lokalne gałęzie dla połączenia <NAZWA>, które nie istnieją w repozytorium zdalnym.

Akceptuje opcję --dry-run, która wyświetli listę gałęzi do przycięcia, ale nie wykona tej operacji.

Git remote — przykłady


Oprócz lokalizacji źródłowej często wygodnie jest mieć połączenie z repozytoriami kolegów z zespołu. Jeśli nasz współpracownik, na przykład John, utrzymywał publicznie dostępne repozytorium w lokalizacji dev.example.com/john.git, można dodać do niego 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 programistów umożliwia współpracę poza centralnym repozytorium. Może to być bardzo przydatne w małych zespołach pracujących nad dużym projektem.

Wyświetlanie połączeń zdalnych


Domyślnie polecenie git remote spowoduje wyświetlenie listy wcześniej zapisanych połączeń zdalnych z innymi repozytoriami. Spowoduje to wygenerowanie danych wyjściowych w pojedynczym wierszu, który zawiera „zakładki” z nazwami repozytoriów zdalnych.

$ git remote
origin
upstream
other_users_repo

Wywołanie polecenia git remote z opcją -v spowoduje wyświetlenie listy nazw repozytoriów dodanych do zakładek oraz powiązanych z nimi adresów URL. Opcja -v oznacza tryb szczegółowy (ang. verbose). Poniżej znajduje się przykład szczegółowych danych wyjściowych polecenia git remote.

git remote -v
origin  git@bitbucket.com:origin_user/reponame.git (fetch)
origin  git@bitbucket.com:origin_user/reponame.git (push)
upstream    https://bitbucket.com/upstream_user/reponame.git (fetch)
upstream    https://bitbucket.com/upstream_user/reponame.git (push)
other_users_repo    https://bitbucket.com/other_users_repo/reponame (fetch)
other_users_repo    https://bitbucket.com/other_users_repo/reponame (push)

Dodawanie repozytoriów zdalnych


Polecenie git remote add spowoduje utworzenie nowego rekordu połączenia z repozytorium zdalnym. Po dodaniu zdalnej lokalizacji, będzie można użyć zmiennej jako wygodnego skrótu do zmiennej w innych poleceniach Git. Aby dowiedzieć się więcej o akceptowanej składni adresu URL, zobacz sekcję „Adresy URL repozytoriów” poniżej. To polecenie utworzy nowy rekord w repozytorium ./.git/config. Przykład aktualizacji pliku konfiguracyjnego:

$ git remote add fake_test https://bitbucket.com/upstream_user/reponame.git; [remote "remote_test"] 
   url = https://bitbucket.com/upstream_user/reponame.git 
   fetch = +refs/heads/*:refs/remotes/remote_test/*

Sprawdzanie połączenia zdalnego


Podpolecenie show można dołączyć do polecenia git remote, aby uzyskać szczegółowe informacje dotyczące konfiguracji połączenia zdalnego. Informacje będą zawierać listę gałęzi powiązanych z lokalizacją zdalną, a także dołączone punkty końcowe do ściągania i wypychania.

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: main
   Remote branches:
      main tracked
      simd-deprecated tracked
      tutorial tracked
   Local ref configured for 'git push':
      main pushes to main (fast-forwardable)

Operacje ściągania i wypychania do zdalnych lokalizacji Git


Po skonfigurowaniu rekordu lokalizacji zdalnej za pomocą polecenia git remote nazwę lokalizacji zdalnej można przekazywać jako argument do innych poleceń Git w celu komunikacji ze zdalnym repozytorium. Zarówno poleceń git fetch, jak i git pull można używać do odczytu z repozytorium zdalnego. Oba polecenia mają różne działanie, które szczegółowo wyjaśniono na odpowiednich stronach.

Wypychanie do zdalnych lokalizacji Git


Polecenie git push służy do zapisywania w repozytorium zdalnym.

git push <remote-name> <branch-name>

W tym przykładzie stan lokalny gałęzi zostanie przesłany do repozytorium zdalnego o nazwie .

Usuwanie repozytoriów zdalnych i zmienianie ich nazw


git remote rename <old-name> <new-name>

Polecenie git remote rename nie wymaga specjalnych wyjaśnień. Jego wykonanie spowoduje zmianę nazwy połączenia zdalnego z na . Zmiana ta zostanie też uwzględniona w pliku ./.git/config.

git remote rm <name>

Polecenie git remote rm usunie połączenie ze zdalnym repozytorium o nazwie <nazwa>. Aby to zilustrować, „cofnijmy” dodanie lokalizacji zdalnej z naszego ostatniego przykładu. Jeśli wykonamy polecenie git remote rm zdalny_test, a następnie zbadamy zawartość pliku ./.git/config możemy zobaczyć, że rekord [remote "zdalny_test"] już nie istnieje.


Udostępnij ten artykuł
Następny temat

Zalecane lektury

Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.

Ludzie współpracujący przy ścianie pełnej narzędzi

Blog Bitbucket

Ilustracja DevOps

Ścieżka szkoleniowa DevOps

Demonstracje funkcji z ekspertami Atlassian

Zobacz, jak Bitbucket Cloud współpracuje z Atlassian Open DevOps

Zapisz się do newslettera DevOps

Thank you for signing up