GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak opravit chybu sloučení Git „Zadejte zprávu odevzdání, abyste vysvětlili, proč je toto sloučení nutné“ {Aktualizace 2022}

Pokud jste technik DevOps nebo pracujete na úložišti git, pak "Zadejte zprávu odevzdání, abyste vysvětlili, proč je toto sloučení nutné " je běžná chyba, ke které dochází při práci. V tomto příspěvku vysvětlím, proč k této chybě dochází, jak tuto chybu opravit a návrhy kolem ní.

Proč se mě git zeptal "Zadejte prosím zprávu odevzdání, abyste vysvětlili, proč je toto sloučení nutné"?

Existuje několik konkrétních důvodů, proč git pull nás žádá, abychom napsali slučovací zprávu. Rád bych začal citátem Linus Torvalds -

Nížeuvedené důvody , což může mít za následek zprávu potvrzení Git varování -

  • Když přenášíte změny z git do svého místního vývoje
  • Nedávno jste aktualizovali svého klienta git
  • Vaše konfigurace git byla nedávno změněna
  • Nikdy předtím jste neměli místní pobočku, která by byla před vzdálenou

Jak opravit varování „Zadejte prosím zprávu o potvrzení, proč je toto sloučení nutné“.

Postupujte podle jednoho z těchto dvou řešení v závislosti na tom, čeho se snažíte dosáhnout?

Řešení-1 Pokud chcete sloučení provést, a poté opustit výchozí editor

V případě, že se vám zobrazuje zpráva „Prosím zadejte zprávu odevzdání vysvětlující, proč je toto sloučení nezbytné“ a chcete provést sloučení, postupujte podle níže uvedených řešení založených na vašem editoru a opravte to.

Pro uživatele editoru vi nebo vim v systému Linux -

Výchozí editor je vi nebo vim v Linuxu, pokud jste jej nezměnili git config příkaz. Pro sloučení na základě vašeho editoru postupujte podle těchto jednoduchých kroků -

  • Stiskněte „i “ na klávesnici zadejte „Sloučit " komentáře nebo zpráva
  • Stiskněte „Esc “ na klávesnici
  • Uložte a ukončete zadáním :wq z vašeho editoru Vi nebo Vim

Případně

pokud nechcete poslat Sloučit zprávu , pak můžete jednoduše stisknout „Esc “ na klávesnici a poté Shift + ZZ uložit a rychle opustit editor.

Pro uživatele nano nebo Pico v macOS -

Pokud používáte nano nebo pico editor v macOS nebo možná v WSL (Windows Subsystem for Linux) poté spusťte následující příkaz -

  • Stiskněte CTRL + X
  • Potom CTRL + C
  • Stiskněte Y pro uložení souboru.

Pokud chcete změnit výchozí editor git např. od vi/vim po nano spusťte následující příkaz -

git config --global core.editor "nano"

Řešení-2 Pokud se nechcete sloučit, stane se a chcete ukončit bez sloučení .

Pokud se vám tedy zobrazuje následující chyba sloučení git znovu a znovu -

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

a vynechcete se sloučit a chcete se očistit, pak je proces trochu složitější. Postupujte podle uvedených kroků -

Pro uživatele editoru vi/vim nebo nano

  1. Nejprve pozastavte editor vi/vim nebo nano stisknutím ctrl + z na klávesnici
  2. Poznamenejte si Pid (ID procesu) nebo název procesu . např. nano nebo vi.
  3. Zrušte sloučení pomocí git merge --abort příkaz
  4. Ukončete proces na pozadí pomocí pkill -9 název procesu ". Např. pkill -9 nano." nebo pkill -9 vi . Obdržíte zprávu, že proces byl úspěšně zabit.

Poznamenejte si to, i když stisknete ESC a poté :q nebo :q! pro ukončenívi nebo vim editor bez uložení. Přesto má za následek sloučení . Totéž platí pro další editory, jako je nano . Pokud stisknete ctrl + x pro ukončení se stále větve sloučí . Ujistěte se tedy, že vždy pozastavíte a přerušíte proces vyhnutí se sloučení jak je vysvětleno ve výše uvedených krocích.

Návrh – sloučení Git vs Rebase zachovat čistou historii v Gitu

Řekl jsem vám řešení, jak se zbavit chyby „Zadejte zprávu odevzdání, abyste vysvětlili, proč je toto sloučení nutné“. Ale pravděpodobně vám musím říct, že když můžete použít Git Merge a kdy použít rebase while git pull .

Při práci s Git dodržujte tato zlatá pravidla -

Pravidlo 1 – Při přebírání změn z původního/vývojového do místního vývoje vždy znovu založte základ

Vždy používejte možnost rebase při stahování změn z původního místa namísto pouhého spuštění git pull příkaz sám.

git pull --rebase

Proč? protože pokud stahujete z původního zdroje a neprovedli jste žádné změny ve svém místním vývoji, pak git pull a git pull --rebase jsou stejní.

Pokud jste aleprovedli pár změn do vašeho místního rozvoje, které ještě nebyly posunuty. Také chcete vytáhnout jakékoli změny, které ve vašem původu postrádáte na místní rozvoj, než budete moci tlačit. Běžný git pull bez rebase může mít za následek sloučení problémy.

Pravidlo 2 – Sloučení při dokončení změny sloučení větve funkce zpět k vývoji

Následující příkaz použijte, když jste provedli změny a chcete sloučit změny zpět k vývoji

git merge

Ubuntu
  1. Jak opravit chybu aktualizace Ubuntu:Problém s MergeList

  2. Jak opravit chybu Locale?

  3. „Chyba spouštění“ s živým usb Ubuntu 15.10 – jak ji opravit

  1. Jak opravit chybu odmítnutí připojení SSH

  2. Chybová zpráva v Arista Transcoder, Jak nainstalovat Ffdeinterlace Plugin?

  3. Jak opravit „chybu při načítání sdílených knihoven:libgtk-x11-2.0.so.0“

  1. Jak vyřešit konflikty sloučení v Gitu

  2. Jak Git funguje?

  3. 403 Zakázaná chyba – co to je a jak ji opravit