In Git, cherry-pick
mantiene l'autore del commit originale, il timestamp ecc., Almeno quando non ci sono conflitti. Ma c'è un modo per determinare quale utente ha eseguito il cherry-pick che ha portato quel commit al nuovo ramo?Come si può determinare il committer di un cherry-pick in Git?
risposta
L'autore verrà prelevato dal commit originale, ma il committer (mostrato con git log --format=full
) sarà quello che sta eseguendo il cherry picking. Questo campo di committer non è sicuro, poiché la creazione di commit di cherry-pick è in definitiva sotto il controllo del cherry-picker. L'unico modo affidabile per rintracciare il creatore del commit, in questo caso l'istigatore di cherry pick, è firmando il commit.
Un metodo più semplice è di registrare con attenzione i push sul server git. I commit introdotti da una spinta indicano chi ha fatto il cherry-pick o, più precisamente, chi l'ha pubblicato.
Utilizzare l'--pretty=full
argomento git log
che si traduce in qualcosa di simile a:
git log -1 --pretty=full
commit 123abc
Author: Author Name
Commit: Commiter Name
Date: Wed Mar 20 09:43:20
Commmit Message
o, se si è interessati solo in nome della commiter --format="%cN"
che produce:
git log -1 --format="%cN"
Commiter Name
Vedi git-log(1) per maggiori informazioni.