2012-07-03 4 views
17

Sto provando a fare alcuni script di automazione usando git, cose semplici come aggiornare i sottomoduli, passare a tag appropriati, ecc, ma uno dei problemi che sto trovando ora è che git ora ti obbliga a confermare un messaggio di unione. C'è un modo per soffocare questo comportamento?Come reprimere il messaggio di unione automatica di git?

+1

Quale comando di unione è in esecuzione, in quali circostanze, per ottenere questo comportamento? Si prega inoltre di dare la versione Git. –

+0

@DanHulme L'ho già trovato grazie a un commento qui sotto. Stavo usando git 1.7.10, e fondamentalmente * qualsiasi * unione, operazione di pull risulterebbe in un prompt interattivo. --no-edit ed esporta il GIT_MERGE_AUTOEDIT = non lo ha risolto. – buzzedword

risposta

14

Per evitare git da voi promting per un messaggio di commit su Mac aggiungere questo al vostro .bashrc o .bash_profile (read more about the difference between the two files)

export GIT_MERGE_AUTOEDIT=no 

Poi, nel tuo tipo di terminale:

source ~/.bashrc 

per ricaricare il tuo file bash e continua senza interferenze.

18

È possibile aggiungere l'interruttore --no-edit a git-merge e non chiederà di confermare il messaggio di unione.

+3

La versione più recente (> = 1.7.10) di git merge default entra in una sessione interattiva. Devi aggiungere l'argomento --no-edit o aggiungere la variabile di ambiente GIT_MERGE_AUTOEDIT = no per sopprimere una sessione interattiva – linquize

+0

@linquize, ti auguro di mettere questa risposta come risposta-- l'ambiente era ESATTAMENTE quello che stavo cercando. – buzzedword

1

È possibile cambiare l'editor per non mostrare fino sostituendo vim con cat o true, ad es .:

GIT_EDITOR=true git merge branch_name 

Questo popolerà il messaggio di unione automaticamente.