Git: Ändra ett befintligt Commit-meddelande

Misstag är vanliga, vi gör dem alla. Det är därför de sätter suddgummi på pennor. Och detta är inte annorlunda med verktyg som Git. Även om vissa ändringar kan vara svåra att ångra, finns det vanligtvis ett sätt.

Så vad händer om du vill ändra ett befintligt commit-meddelande? Lyckligtvis är detta enkelt att göra i Git, men metoden kan ändras lite beroende på vissa faktorer.

Fixa senaste bekräftelse, ännu inte skjuts till fjärrkontroll

Detta är det enklaste fallet eftersom det inte finns något behov av att ändra ett fjärrlager, du behöver bara ändra ditt eget. I det här fallet kan du använda följande kommando:

$ git commit --amend

Om du kör det här kommandot öppnas en redigerare där du kan ändra sista begå meddelande. När du är klar och sparar/stänger redigeraren kommer commit-meddelandet att ändras.

Personligen föredrar jag att göra det mesta på kommandoraden, vilket du kan göra genom att lägga till ett argument och meddelande till kommandot ovan:

$ git commit --amend -m "Added a new file"

Om du gör det på det här sättet öppnas inte redigeraren, utan det kommer bara att ändra commit-meddelandet omedelbart.

Fixa senaste bekräftelse, skjuts till fjärrkontroll

Detta är ett annat vanligt fall, och det är lite svårare att fixa, inte bara för att vi behöver modifiera vårt eget förråd, utan vi måste också modifiera fjärrförvaret, som kan vara längre fram än din lokala filial.

Det första steget är att ändra det sista åtagandet, precis som vi gjorde i föregående avsnitt:

$ git commit --amend -m "Added a new file"

Sedan måste du skicka dessa ändringar till fjärrförvaret. Detta måste dock göras med hjälp av --force flagga.

$ git push <remote> <branch> --force

Vi måste göra det på detta sätt för att skriva över fjärrförvaret med vår egen lokala stat.

Var medveten om att genom att tvinga trycket kommer du också att göra det förlorar eventuella bindningar på lokalavdelningen som du inte redan har i din lokala filial. Fortsätt med försiktighet!

Kolla in vår praktiska, praktiska guide för att lära dig Git, med bästa praxis, branschaccepterade standarder och medföljande fuskblad. Sluta googla Git-kommandon och faktiskt lära Det!

Om du kan fånga misstaget tillräckligt snabbt, kommer det inte att vara ett problem att göra förändringen. Annars kan du behöva hitta en annan lösning för att undvika att förlora ändringar som gjorts efter commit-meddelandet som du vill ändra.

Använd Interactive Rebase

Ett annat alternativ, som är mer flexibelt än de tidigare beskrivna lösningarna, är att använda en interaktiv rebas. Genom att göra detta kan du inspektera de senaste N bekräftelserna och göra ändringar i dem, inklusive plockning, squashing, etc.

För att starta rebasen kan du använda följande kommando:

$ git rebase -i HEAD~n

Här, n är antalet commits du vill inspektera och redigera. Du kommer då att se en lista över åtaganden, liknande detta:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















Som du kan se är alla de senaste N commits listade, och du kan ändra deras meddelanden efter behov.

Tidsstämpel:

Mer från Stackabuse