2011-11-16 4 views
6

Di solito lavoro su un ramo che è divergente dal master. Così mentre sto sviluppando le cose, eseguo una volta ogni tanto git merge master. E a volte voglio sapere quando è stata l'ultima volta, ho fatto git merge master su quel ramo. So che posso fare git log e cercare "Unisci ramo master" ", e vedere la data del commit ... ma se c'è una magia, mi piacerebbe sapere!Git: C'è un modo rapido per vedere quando è stata fatta l'ultima volta che il master git merge sul ramo di lavoro corrente?

risposta

7
git show :/"Merge branch 'master'" 
+0

interessante, non sapevo rev-parse capito regexen. Lo userò in futuro (anche se non per questo :) solo per sostituire alcune delle ricerche di stile 'git log --grep') – sehe

3

mi piace personalmente a ispezionare la differenza di alberi di revisione:

git log --graph --left-right --cherry-pick --oneline branch1...branch2 

Inoltre, nel reparto 'magia' c'è

git show-branch 
git show-branch branch1 branch2 
git show-branch --all # which does all of the above and more 

E, infine,

git merge-base branch1 branch2 

a denominare la revisione base che verrebbe unificata da


Note:

--cherry-pick 

omettere qualsiasi commit che introduce la stessa modifica come un altro commit sul "dall'altra parte" quando il set di commit sono limitati con differenza simmetrica.

Ad esempio, se si dispone di due rami, A e B, un modo normale di elencare tutti i commit su un solo lato di essi è con --left-right, come nell'esempio precedente nella descrizione di tale opzione. Mostra comunque i commit che sono stati selezionati con la ciliegia dall'altro ramo (ad esempio, "3a b" può essere selezionato dal ramo A). Con questa opzione, tali coppie di commit sono escluse dall'output.

1

Si potrebbe utilizzare git merge-base per ottenere l'antenato comune, e visualizzare i risultati.

Qualcosa di simile a questo:

git merge-base HEAD master | git show --pretty

Problemi correlati