Come dice il titolo, non sono molto chiaro sulle differenze tra uno git merge --squash
e uno git merge --no-commit
.Differenze tra Git merge --squash e --no-commit
Per quanto riguarda la pagina di aiuto per git merge
, entrambi i comandi mi lascerebbero in un albero di lavoro aggiornato, in cui è ancora possibile modificare e quindi eseguire un commit finale (o più commit).
Qualcuno potrebbe chiarire le differenze tra queste 2 opzioni? Quando dovrei usare uno invece dell'altro?
Quindi un merge-commit mostrerebbe come nella cronologia? Dal momento che posso modificare il messaggio di commit, come potrei vedere che si trattava di un merge-commit? – quaylar
@quaylar Un merge-commit non è in realtà un commit speciale, tranne che ha più genitori. Puoi vedere i genitori per un commit, ad esempio con 'git log --parents' (e' git log --merges' mostra solo tali commit). –
@PhilippWendler Quindi in sostanza: avendo un merge-commit che avrei sempre saputo guardando la cronologia, che questo commit era il risultato di un'unione (sono anche le informazioni che i rami hanno contribuito a questa fusione?). Usando --squash non c'è modo di sapere che questo commit è il risultato di una fusione. Lo capisco correttamente? – quaylar