git remote

Zarządza zdalnymi repozytoriami powiązanymi z lokalnym repo.

git remote to polecenie do zarządzania zdalnymi repozytoriami, czyli „skrótami” do adresów, pod którymi leży kopia Twojego repo na serwerze (GitHub, GitLab, własny serwer po SSH). Zamiast wklejać za każdym razem długi URL przy push czy fetch, nadajesz mu krótką nazwę — najczęściej origin — i odwołujesz się do niej. Bez argumentów git remote wypisuje po prostu listę nazw zdalnych, które repo już zna.

Składnia i najważniejsze opcje

Podstawowa forma: git remote [polecenie] [argumenty]

  • -v (albo --verbose) — pokazuje nazwy zdalnych razem z ich adresami URL oraz informacją, czy służą do fetch, czy do push.
  • add — dodaje nowe zdalne repo pod wybraną nazwą.
  • remove (skrót rm) — usuwa zdalne repo wraz ze wszystkimi powiązanymi z nim gałęziami śledzącymi i konfiguracją.
  • rename — zmienia nazwę zdalnego i aktualizuje powiązane referencje.
  • set-url — podmienia adres istniejącego zdalnego (np. przy migracji z HTTPS na SSH).
  • get-url — wypisuje sam adres URL danego zdalnego.
  • show — pokazuje szczegóły: adresy, śledzone gałęzie, co pójdzie przy push.
  • prune — sprząta lokalne referencje do gałęzi, które na serwerze już nie istnieją.

Przykłady użycia

  • git remote -v — wypisuje wszystkie skonfigurowane zdalne z ich adresami; pierwsze polecenie, gdy nie wiesz, dokąd wysyłasz zmiany.
  • git remote add origin [email protected]:user/repo.git — podpina świeżo zainicjowane lokalne repo pod zdalne na GitHubie.
  • git remote add upstream https://github.com/orginal/repo.git — dodaje drugie zdalne (np. oryginał forka), żeby ściągać z niego aktualizacje.
  • git remote set-url origin [email protected]:user/repo.git — przełącza origin z HTTPS na SSH, gdy masz dość wpisywania hasła.
  • git remote rename origin old-origin — zmienia nazwę zdalnego, zanim podepniesz nowy serwer pod origin.

Częste błędy i pułapki

Najczęstszy komunikat to fatal: remote origin already exists — pojawia się, gdy próbujesz add pod nazwą, która już istnieje. Wtedy nie dodawaj drugi raz, tylko użyj set-url. Pamiętaj, że git remote add tylko zapisuje wpis w konfiguracji — nie łączy się z serwerem, więc literówka w URL wyjdzie dopiero przy fetch czy push. remove kasuje też gałęzie śledzące tego zdalnego, więc nie używaj go, gdy chcesz tylko zmienić adres. Uważaj na mieszanie protokołów: HTTPS prosi o login/token, a SSH wymaga skonfigurowanego klucza — to dwa różne URL-e dla tego samego repo. Składnia jest identyczna na Linuksie, macOS i Windowsie, bo to wbudowane podpolecenie Gita, nie zewnętrzny program.

Powiązane komendy: git clone (samo ustawia origin), git fetch, git pull, git push oraz git branch -u do ustawiania gałęzi śledzącej.