2012-09-18 25 views
6

Quando si gestiscono richieste pull su GitHub, spesso voglio unire in commit da un ramo senza modifiche. Tuttavia, mi piacerebbe commettere qualcosa subito dopo l'unione. Non voglio git commit --amend perché ciò cambierebbe il commit che sto apportando, quindi il monitoraggio del cambiamento diventa più complicato.Git commette un messaggio di commit e nient'altro?

C'è un modo per git commit nient'altro che un messaggio? Il motivo è perché potrei voler menzionare qualcosa nella richiesta di pull - un URL che punta a un caso di test, o menzionare qualche altra richiesta di pull in modo da poter usare un hook di commit come Closes #123 in aggiunta alla richiesta di pull originale.

+2

Qualcosa come una [nota] (http://www.kernel.org/pub/software/scm/git/docs/git-notes.html) soddisfa le tue necessità o vuoi che sia un commit? – R0MANARMY

+0

@ R0MANARMY Mi piace '--allow-empty' ma potrebbe essere un abuso; Scommetto che questo business 'git note' è probabilmente più corretto. Dovrò provarlo. Mi chiedo se queste note verranno visualizzate nella cronologia di una richiesta di pull GitHub. –

+0

Penso che in questo caso la risposta di femaref sia la migliore dato che ti permetterebbe di inserire direttamente il messaggio che vuoi nell'unione. – R0MANARMY

risposta

9

Per eseguire un commit vuoto, utilizzare git commit --allow-empty.

+0

Funziona come un campione e sembra più facile del suggerimento di @ Femaref, grazie! –

3

È possibile utilizzare git merge --no-commit branch per eseguire l'unione ma non l'autocommit. Ora sei in grado di modificare l'effettivo commit come se l'unione fallisse, compresa la modifica del messaggio di commit.

Inoltre, è possibile immettere un messaggio tramite git merge -m "message" branch, che viene aggiunto al commit di unione.

+0

'' m' funziona con un'unione avanti veloce? – R0MANARMY

+2

Aggiungi '--no-ff' per generare esplicitamente un commit di unione anche se è un avanzamento veloce. – Femaref

Problemi correlati