2013-01-16 8 views
5

Diciamo che sto fondendo una richiesta di pull e vogliono anche per accompagnare la fusione con una linea nel changelog:Ulteriori modifiche in una stampa commettono

> git merge --no-ff otherguy/feature-x 
> echo "Feature: X" >> changelog 
> git commit -am "Changelog update" 
> git push 

Una cosa simile è possibile in un unico commit:

> git merge --no-ff --no-commit otherguy/feature-x 
> echo "Feature: X" >> changelog 
> git commit -am "Merge otherguy/feature-x + changelog" 
> git push 

In modo che lo stesso commit conterrà sia l'unione che le modifiche del file.

Concessione che ho sempre aggiornare il changelog quando si uniscono dai repository a valle, qui è una domanda:

è quest'ultimo modo in cui una cosa sensata da fare e quali conseguenze inaspettate potrebbe mostrare più tardi?

Aggiornamento: Per quanto riguarda il motivo per cui ho bisogno di un changelog file separato quando ho già un git log, quello del file è più potata (ingresso o giù di lì per merge, non a commettere), a volte meglio formulata e in un certo formato (es. debian/changelog). Quindi, è per uso esterno.

risposta

5

Prima di tutto è necessario considerare se è davvero utile mantenere un registro delle modifiche memorizzato nel repository, quando si è in possesso di git lì per mantenere il changelog in primo luogo.

Inoltre, l'aggiunta di elementi in unione che non esistevano in nessuno dei due rami è denominata evil merge e non è comunque una buona pratica.

+1

Per quanto riguarda git log vs un log delle modifiche del file, le mie preoccupazioni sono cose come debian/changelog, cioè in un certo formato, quindi ci sarebbe qualcosa come 'dch -e' invece di' echo'. – bereal

+3

In tal caso, è necessario modificare il file come commit separato e non provare a nascondere la modifica nell'unione. –

Problemi correlati