Se sei un ingegnere DevOps o lavori su un repository git, allora "Inserisci un messaggio di commit per spiegare perché questa unione è necessaria " è l'errore comune che ricevi mentre lavori. In questo post spiegherò perché si verifica questo errore, come correggere questo errore e suggerimenti al riguardo.
Perché git mi ha chiesto "Inserisci un messaggio di commit per spiegare perché questa unione è necessaria"?
Ci sono alcuni motivi specifici per cui git pull ci chiede di scrivere un messaggio di unione. Vorrei iniziare con una citazione di Linus Torvalds -
Di seguito citati sono i motivi , che potrebbe comportare un messaggio di commit Git avviso -
- Quando trasferisci le modifiche da git al tuo sviluppo locale
- Hai recentemente aggiornato il tuo client git
- La tua configurazione git è stata modificata di recente
- Non hai mai avuto una filiale locale prima di quella remota
Come risolvere l'avviso "Inserisci un messaggio di commit per spiegare perché questa unione è necessaria".
Segui una di queste due soluzioni, a seconda di cosa stai cercando di ottenere?
Soluzione-1 Se vuoi unire, esegui e poi esci dal tuo editor predefinito
Nel caso in cui ricevi il messaggio "Inserisci un messaggio di commit per spiegare perché questa unione è necessaria" e desideri unire, quindi segui le soluzioni indicate di seguito in base al tuo editor per risolverlo.
Per utenti vi o vim editor in Linux -
L'editor predefinito è vi o vim in Linux, se non l'hai modificato git config comando. Segui questi semplici passaggi per unire in base al tuo editor -
- Premi "io " sulla tastiera, digita "Unisci " commenti o messaggi
- Premi "Esc pulsante " sulla tastiera
- Salva ed esci digitando :wq dal tuo editor Vi o Vim
In alternativa,
se non vuoi inviare un Messaggio di unione , quindi puoi semplicemente premere "Esc " sulla tastiera e quindi MAIUSC + ZZ per salvare ed uscire rapidamente dall'editor.
Per utenti nano o Pico in macOS -
Se stai usando nano o pico editor in macOS o forse in WSL (sottosistema Windows per Linux) quindi esegui il seguente comando -
- Premi CTRL + X
- Quindi CTRL + C
- Premi "Y" per salvare il tuo file.
Se vuoi cambiare l'editor git predefinito per esempio. da vi/vim a nano eseguire il comando seguente -
git config --global core.editor "nano"
Soluzione-2 Se non vuoi unire, succede e vuoi uscire senza unire .
Quindi, se ricevi il seguente errore di unione git ancora e ancora -
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
e tu non vuoi unirti e vuoi essere chiaro, quindi il processo è un po 'complicato. Segui i passaggi forniti -
Per utenti vi/vim o nano editor
- Per prima cosa, sospendi l'editor vi/vim o nano premendo ctrl + z sulla tastiera
- Prendere nota del Pid (ID processo) o nome processo . per esempio. nano o vi.
- Interrompi l'unione con git merge --abort comando
- Chiudi il processo in background con pkill -9 "nome processo ". Ad esempio
pkill -9 nano
opkill -9 vi
. Riceverai un messaggio, il processo è stato terminato con successo.
Si prega di prendere nota, anche se si preme ESC e poi :q o :q! per uscire da vi o vim editor senza salvare. Tuttavia, risulta nella unione . Lo stesso vale per altri editor come nano . Se premi ctrl + x per uscire, ancora il ramo verrà unito . Quindi assicurati di sospendere e interrompere sempre il processo per evitare la fusione come spiegato nei passaggi precedenti.
Suggerimento:Git merge vs Rebase per mantenere una cronologia pulita in Git
Ti ho spiegato la soluzione su come eliminare l'errore "Inserisci un messaggio di commit per spiegare perché questa unione è necessaria". Ma probabilmente devo dirtelo quando puoi usare Git Merge e quando usare rebase mentre git pull .
Segui queste regole d'oro mentre lavori con Git -
Regola 1 - Rebase sempre quando si trasferiscono le modifiche dall'origine/sviluppo allo sviluppo locale
Usa sempre l'opzione rebase, mentre estrai le modifiche dall'origine invece di eseguire semplicemente git pull comando da solo.
git pull --rebase
Come mai? perché se stai estraendo dall'origine e non hai apportato modifiche al tuo sviluppo locale, allora git pull e git pull --rebase sono gli stessi.
Ma se hai apportato alcune modifiche al tuo sviluppo locale che non è stato ancora spinto. Inoltre, vuoi tirare eventuali modifiche mancanti dalla tua origine al tuo sviluppo locale prima di poter spingere. Un normale git pull senza rebase l'opzione potrebbe comportare l'unione problemi.
Regola 2 - Unisci al termine di un ramo di funzionalità, unisci le modifiche allo sviluppo
Usa il comando seguente, quando hai apportato modifiche e desideri unire le modifiche per svilupparle
git merge