Hur tar man bort GitHub Branch?

By rik

Hantera Grenar i GitHub: En Guide till Borttagning

Att rensa bort det som inte längre behövs är en väsentlig del av alla välskötta system. Det ger plats för nya idéer och förenklar underhållet av det som är kvar. I den här artikeln ska vi undersöka olika metoder för att radera en gren i GitHub.

Grenar är en ovärderlig tillgång för utvecklare. Om du är en utvecklare förstår du säkert vad jag menar. Om du är bekant med hur grenar används kan du hoppa direkt till avsnittet om att ta bort dem. Men om du är nybörjare eller bara nyfiken, läs gärna vidare.

Vad är egentligen grenar?

En gren kan ses som en pekare som refererar till en specifik commit. För att fullt ut förstå grenarnas funktion är det bäst att se hur de fungerar i praktiken. Att bara läsa om dem är inte alltid tillräckligt.

Vi ska titta på hur utvecklare använder grenar i sina projekt genom några exempel. Varje cirkel i exemplen symboliserar en commit.

Låt oss illustrera arbetsflödet med grenar genom ett realistiskt scenario:

  • Tänk dig att du arbetar i ett produktutvecklingsteam.
  • En dag kommer din teamledare och säger: ”Hej, vi har upptäckt några fel i produkten som behöver åtgärdas.”
  • Och du svarar: ”Självklart, jag tar hand om det.”
  • Dina Git-commits ser ut på följande sätt.

Git Commits

  • Arbetar du direkt från mastergrenen?
  • Förmodligen inte. Att arbeta direkt från mastergrenen kan leda till allvarliga problem längre fram. Vi kommer att visa vad som kan hända om ett tag.
  • Nu har du bestämt dig för att skapa en ny gren från mastergrenen för att åtgärda buggarna. Båda grenarna kommer initialt att peka på samma commit.

Ny gren

  • Du börjar arbeta med buggfixarna och gör 5 commits. Din nya gren kommer nu att se ut så här.

Nya commits

  • Din nya gren pekar nu på C8-commit, medan mastergrenen fortfarande pekar på C3-commit.
  • Men så dyker en ny situation upp. Din teamledare kommer igen och säger: ”Vi har hittat en kritisk bugg som måste åtgärdas omedelbart!”
  • Oj, det var mycket!
  • Du jobbar ju redan med buggfixar, men nu har vi en ny, högre prioritet.
  • Du måste växla fokus och åtgärda den nya buggen.
  • Vad händer med koden du redan skrivit?
  • Inga problem alls! Eftersom du skapade en ny gren för de tidigare buggfixarna, så ligger all den koden fortfarande där.
  • Byt nu tillbaka till mastergrenen och skapa en ny gren, som du kan kalla ”kritisk-bug-fix”, och börja arbeta med den nya buggen.

Ytterligare en ny gren

  • Tänk dig nu att du inte hade skapat en ny gren för de tidigare buggarna. Vad skulle hända?
  • Du skulle behöva ta bort all kod du skrivit för de tidigare buggarna och börja jobba med de nya. Och vid ett senare tillfälle skulle du behöva skriva om den koden igen.
  • Och det är precis det problemet vi pratar om!
  • Så grenar hjälper oss att utveckla kod mer självständigt och organiserat.
  • Nu har du skrivit lite kod för att fixa den nya buggen och commitat den.

Nya commits på gren

  • Du är nu klar med den kritiska buggen.
  • Nu byter du tillbaka till den tidigare grenen och fortsätter med de första buggfixarna.

Med hjälp av grenar kan du alltså hantera saker på ett strukturerat sätt, utan att skapa oreda. Föreställ dig hur rörigt det skulle bli utan dem!

Slutsatsen är tydlig: grenar är en ovärderlig resurs för utvecklare.

Låt oss nu se hur man tar bort en gren.

Ta bort en Gren med Git-klienten

När vi talar om att ta bort en gren, handlar det om att ta bort den både lokalt och i fjärrlagringen. Så bli inte förvirrad om vi tar bort samma gren två gånger. Låt oss titta på stegen:

  • Öppna terminalen eller cmd och navigera till din Git-repository.
  • Visa alla grenar, både lokala och fjärranslutna, med kommandot git branch -a.

Repository grenar

  • Kopiera namnet på den gren du vill ta bort. I det här exemplet är det ”en”.
  • Byt till master, main eller någon annan gren som inte är den du vill radera.
  • Ta bort grenen lokalt med kommandot git branch -d branchName. Ersätt ”branchName” med det faktiska grennamnet.

Ta bort lokal gren

  • Kontrollera nu grenarna med git branch -a. Du kommer fortfarande att se den borttagna grenen i fjärrlagringen, eftersom vi inte har tagit bort den där än.

Grenlista

  • För att ta bort grenen från fjärrlagringen, kör kommandot git push remoteName -d branchName. Ersätt ”remoteName” och ”branchName” med dina faktiska namn.

Ta bort fjärrgren

  • Det finns också ett genvägskommando för att ta bort grenen i fjärrlagringen: git push remoteName :branchName.

Kontrollera grenarna igen. Nu ska du inte hitta den borttagna grenen varken lokalt eller i fjärrlagringen, om du har följt stegen korrekt.

Grenlista

Om vi försöker ta bort en gren som inte finns, får vi ett felmeddelande.

Felmeddelande vid borttagning

Det är allt! Vi har framgångsrikt tagit bort en gren både lokalt och i fjärrlagringen.

Det finns ett annat, något annorlunda sätt att göra det med hjälp av GitHubs webbgränssnitt.

Låt oss titta på det.

Ta Bort en Gren Med Webben

Det är ingen stor skillnad mellan den tidigare metoden och den här. Här använder vi GitHubs webbgränssnitt för att ta bort fjärrgrenen. Den lokala grenen tar vi bort på samma sätt som i den tidigare metoden.

Låt oss se hur man tar bort fjärrgrenen med hjälp av GitHubs webbgränssnitt:

  • Gå till GitHub.
  • Logga in på ditt konto.
  • Navigera till den repository där du vill ta bort en gren.

Repository

  • Klicka på ”Branches”-knappen för att se alla grenar i repositoryn.

Repository grenar

  • Du kommer att se en lista över alla grenar.
  • I slutet av varje rad finns en radera-ikon.

Knapp för att ta bort gren

  • Klicka på radera-ikonen för att ta bort grenen från fjärrlagringen.

Borttagen gren

  • Du kan ångra borttagningen genom att klicka på ”Restore”-knappen. Det är möjligt fram tills du uppdaterar eller stänger sidan.

Återställ-knapp

Nu har vi tagit bort grenen från fjärrlagringen. Gå nu till din lokala repository och ta bort grenen med kommandot som vi visade i den första metoden.

Kör nu kommandot git branch -a för att kontrollera alla grenar.

Grenlista

Vi ser fortfarande den borttagna fjärrgrenen i listan! Vad har hänt? Hur löser vi det? Föreställ dig det här scenariot, som är ganska vanligt på jobbet:

Låt oss säga att du arbetar i ett team. Din teamledare har tagit bort en fjärrgren när en specifik uppgift är klar. Hur får du reda på det? Finns det något sätt att se vilka fjärrgrenar som har tagits bort?

Vi behöver synkronisera de lokala och fjärranslutna versionerna när det gäller borttagna grenar. Det finns vissa kommandon för att göra det:

git remote prune remoteName
git fetch -p remoteName

-p är en genväg för ”prune” i det andra kommandot. ”Prune”-alternativet i båda kommandona tar bort referenserna till de borttagna grenarna i fjärrlagringen.

Fetch prune

Kör nu kommandot git branch -a igen för att kontrollera grenlistan.

Grenlista

Nu ser du att fjärrgrenen inte längre finns med i listan. Men den lokala grenen finns fortfarande kvar. Ja, det stämmer. Det är inget fel med det. Du kan välja att behålla den eller ta bort den.

Så kontrollera vilka grenar som finns lokalt, men inte i fjärrlagringen, och ta bort dem om du vill.

Dina grenar är nu rensade och du kan fortsätta arbeta!

Sammanfattning

Oftast använder vi terminalen eller kommandotolken för att utföra alla Git-operationer. Det är bekvämt, men inte nödvändigt. I slutändan är det en fråga om personliga preferenser.

Oavsett vilket verktyg eller vilken metod du använder, är resultatet detsamma. Välj det som passar dig bäst och följ stegen för att slutföra uppgiften: ta bort grenen lokalt och i fjärrlagringen.

Lär dig sen hur man tar bort en GitHub-repository.

Lycka till med din utveckling! 🙂

Gillade du den här artikeln? Dela den gärna med andra!