Fix: Indtast en meddelelsesmeddelelse for at forklare, hvorfor denne fusion er nødvendig

Muligvis involverer en af ​​de mest pinlige fejlmeddelelser at sidde fast i, når du bruger git-udviklingsnavet, involverer meddelelsesmeddelelser efter at have foretaget en normal fusion. Du kan muligvis se en linje, der beder dig om at indtaste en forpligtelsesmeddelelse for at forklare, hvorfor denne fletning er nødvendig, men hvis du skriver noget der, tillader det dig ikke at afslutte. Årsagen til, at dette er så pinligt, er, at dette overhovedet ikke er en fejlmeddelelse.

Spørgsmålet er faktisk der for mennesker, der skal redigere git-fletninger, og enhver tekst, du tilføjer i, er simpelthen en meddelelse fra andre udviklere, der måske ser på, hvad du skrev. Du er nødt til at afslutte editoren på samme måde som hvis du brugte den fra en standard terminalskærm.

Afslut git Fletninger, der beder om forpligtende meddelelser

Generelt vil du se dette, hvis du har udført en normal fusion på git som en del af et separat dokument. Nogle gange får du muligvis denne prompt efter en blok kode, når du fletter en opdateret opstrøms i sin egen emnegren. Ingen af ​​dokumentationen fra git forklarer, hvad du skal gøre, når du når den, fordi den virkelig slet ikke er en prompt.

Begge linjer i denne meddelelse starter med symbolet #, hvilket betyder, at de er kommentarer. Da git ikke ved, hvor mange udviklere der arbejder på et projekt, tilføjes dette, så du kan efterlade en besked til andre om, hvorfor du flettede en opstrøms til en emnegren. Du skal dog vide, hvilken editor du bruger til at afslutte den.

I de fleste tilfælde bruger du vi- eller vim-redaktørerne. Tryk på Esc-tasten, skriv derefter: wq, og tryk på enter for at afslutte. Dette er den samme måde, som du forlader vim ved enhver anden lejlighed. Dette gemmer filen og afslutter derefter, hvilket fører dig lige ud af git.

Læg mærke til tegn, der kan hjælpe dig med at vide, hvilken type editor du bruger. I vores eksempler på skærmbillede var de ekstra tilde-tegn, der viser nye linjer, der endnu ikke blev indsat i en fil, en afslørende gave, som git-platformen gav os til vim. Så igen, hvis du ikke kan finde ud af, hvilken editor du bruger, skal du trykke på Esc og bruge kommandoen: wq, fordi vi og vim er næsten universelle på dette tidspunkt, så du finder ud af, at dette normalt får dig ud.

På den anden side, hvis du brugte nano, skal du blot trykke på Ctrl + X og skrive y, når du bliver spurgt, om du vil gemme ændringer. Så snart du trykker på enter, er du ude af git og tilbage, uanset hvor du var på forhånd. Du bemærker generelt en linje øverst i terminalen, der læser "GNU nano" i disse tilfælde. Hvis ikke, skal du kigge efter et antal tastaturgenveje i bunden af ​​vinduet.

Hvis du finder ud af, at ingen af ​​disse metoder fungerer, skal du trykke på Ctrl + X efterfulgt af Ctrl + C for at afslutte. Dette skulle få dig ud af git, hvis du brugte emacs-editoren. Dette er en usædvanlig omstændighed. I de fleste tilfælde skal Esc efterfulgt af: wq fungere, og Ctrl + X efterfulgt af y skal fungere i tilfælde, hvor det ikke virker. Du vil kun bruge Ctrl + X efterfulgt af Ctrl + C, hvis du enten ved, at du er i emacs, eller hvis disse to metoder ikke fungerer. Ctrl + C skal også fungere, omend uden at gemme, hvis du bruger JOE-editoren på din git-terminal.

Når du er ude og tilbage ved anmodningen, skal du skrive kat ~ / .gitconfig | grep editor ved terminalen for at finde ud af, hvilken editor du sikkert sidder fast i. Du får en linje tilbage, der læser noget som editor = vim, hvilket ville være navnet på den editor, som git er standard. I fremtiden kan du bruge standardmetoden til at afslutte editoren, hvis du efter en normal git-fletning ser linjen "Indtast en meddelelsesmeddelelse for at forklare, hvorfor denne fletning er nødvendig" igen.

Du vil muligvis også redigere filen med den tekstredigerer, du normalt foretrækker, og ændre editoren til den, du vil. Rul ned til, hvor den læser [kerne], og skift derefter linjen, der læser "editor = vim" for at læse, hvilken du vil. For eksempel vil du måske have det til at læse "editor = nano", hvis du foretrækker at bruge nano-editoren til at kode med.