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żą dofetch, czy dopush.add— dodaje nowe zdalne repo pod wybraną nazwą.remove(skrótrm) — 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 przypush.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łączaoriginz HTTPS na SSH, gdy masz dość wpisywania hasła.git remote rename origin old-origin— zmienia nazwę zdalnego, zanim podepniesz nowy serwer podorigin.
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.