Så ser du fjärrgrenar med git branch -r

4 november 2026

Visar hur `git list remote branches` kan se ut efter `git fetch origin`. Din lokala `master` har en ny commit.

När en kollega nämner en gren som inte syns i terminalen vill du snabbt kontrollera om den finns på fjärren. Börja med git branch -r, men kom ihåg att listan visar lokalt sparade referenser och därför kan vara inaktuell.

Git-grafik som visar hur man kan git list remote branches. Visar lokala och fjärr-grenar på

Rätt kommando beror på om du behöver en sparad lista eller en färsk kontroll

  • Visa sparade fjärrgrenar: git branch -r
  • Visa både lokala och sparade fjärrgrenar: git branch -a
  • Kontrollera vad fjärren annonserar just nu: git ls-remote --heads origin
  • Uppdatera listan och rensa bort inaktuella referenser: git fetch --prune origin

git branch -r visar fjärrspårningsgrenar, inte en live-lista

Kommandot git branch -r skriver ut fjärrspårningsgrenar, till exempel origin/main och origin/feature/search. Namnen finns i din lokala repository och speglar vad Git senast hämtade från fjärren. De kontrolleras inte automatiskt mot servern när listan visas.

Det är en skillnad som lätt ställer till det. Jag tycker att det hjälper att se origin/feature/search som en lokal bokmärkeslapp till en gren på fjärren, inte som själva grenen. Git beskriver dessa referenser som remote-tracking branches i dokumentationen för git branch.

Vill du även se dina lokala grenar kör du git branch -a. Om du bara behöver fjärrspårningsgrenarna är -r tydligare och ger mindre brus.

Använd git ls-remote när svaret måste komma från fjärren

Behöver du veta vilka grenar fjärren visar just nu, kör git ls-remote --heads origin. Kommandot frågar fjärren direkt och skriver ut commit-ID:n tillsammans med referenser, som refs/heads/main. Det uppdaterar däremot inte dina lokala fjärrspårningsgrenar.

Det är en bra kontroll när en ny gren nyss har publicerats eller när din lokala lista verkar motsäga teamets. Ser du grenen i svaret men inte med git branch -r, behöver du hämta referenserna. Beskrivningen av vad kommandot visar finns i Git-dokumentationen för git ls-remote.

Välj kommando efter vad du vill kontrollera

Två kommandon kan alltså visa olika resultat utan att något av dem är trasigt. Tänk så här: behöver du se din lokala Git-kunskap, använd git branch -r; behöver du fråga servern, använd git ls-remote.

Situation Varför listan ser ut så Gör så här
En kollega har publicerat en gren, men git branch -r visar den inte Dina lokala referenser har inte hämtats sedan grenen skapades Kör git fetch origin och lista på nytt
En borttagen gren syns fortfarande under origin/ Den gamla fjärrspårningsreferensen finns kvar lokalt Kör git fetch --prune origin
Du vill veta vad fjärren annonserar utan att ändra din lokala lista git branch -r visar sparade referenser, inte en live-förfrågan Kör git ls-remote --heads origin
Du vill se både lokala och fjärrspårade grenar Flaggan -a omfattar båda grupperna Kör git branch -a

git fetch hämtar referenser och uppdaterar deras lokala motsvarigheter, men sammanfogar inte ändringar till din aktuella arbetsgren. Med --prune tas också lokala fjärrspårningsreferenser bort när motsvarande grenar saknas på fjärren, vilket beskrivs i dokumentationen för git fetch. Kör därför prune när du vill städa din lokala lista, inte när du enbart vill kontrollera den.

Filtrera listan eller byt till grenen utan omvägar

När repot har många grenar slipper du skrolla genom allt. Filtrera på ett namn med git branch -r --list 'origin/feature/*'; jokertecknet begränsar resultatet till grenar under det mönstret. Behåll citattecknen så att skalet inte försöker tolka mönstret innan Git får det.

Hittar du grenen efter en hämtning kan du skapa en lokal gren som spårar den med git switch --track origin/feature/search. Då kopplas den lokala grenen till sin upstream, alltså den gren Git använder som jämförelsepunkt vid status och pull. Med flera fjärrar bör du ange rätt fjärrnamn uttryckligen, eftersom samma grennamn kan finnas på mer än en.

En enkel rutin håller grenlistan begriplig

När du bara behöver en snabb överblick räcker git branch -r. Om en gren saknas eller verkar vara borttagen, fråga först fjärren med git ls-remote --heads origin; hämta sedan eller rensa lokala referenser utifrån vad du faktiskt vill göra.

För dagligt arbete är kombinationen git fetch --prune följt av git branch -r ofta den tydligaste rutinen. Då visar listan uppdaterade fjärrspårningsgrenar, samtidigt som gamla namn inte ligger kvar och förvirrar nästa beslut.

Vanliga frågor

Kommandot visar lokalt sparade fjärrspårningsgrenar, inte en live-lista från servern. Kör git fetch origin och lista på nytt. Om du vill kontrollera vad fjärren annonserar just nu utan att uppdatera dina lokala referenser använder du git ls-remote --heads origin.
Kör git ls-remote --heads origin för att fråga fjärren direkt. Svaret innehåller commit-ID:n och referenser, till exempel refs/heads/main. Om grenen visas där men inte i git branch -r har dina lokala fjärrspårningsreferenser inte hämtats sedan grenen publicerades.
Kör git fetch --prune origin. Det uppdaterar lokala fjärrspårningsreferenser och tar bort de referenser vars grenar inte längre finns på fjärren. Kör sedan git branch -r för att se den uppdaterade listan.
Filtrera listan med exempelvis git branch -r --list 'origin/feature/*'; citattecknen hindrar skalet från att tolka mönstret före Git. När du har hämtat grenen kan du skapa en lokal spårande gren med git switch --track origin/feature/search. Om repot har flera fjärrar anger du fjärrnamnet som hör till rätt gren.
Betygsätt artikeln

Genomsnitt: 0.0 / 5 · 0 betyg

Taggar

git fjärrspårningsgrenar git fetch git ls-remote
Kommentarer (0)
Lägg till en kommentar