2011-12-12 22 views
13

come faccio a cambiare l'autore del mio impegno dopo che ho già spinto al repository upstreamModifica git paternità dopo git push

+0

Per un a spiegazione approfondita del motivo per cui spingere la cronologia riscritta può essere spaventoso (se qualcuno può aver estratto dal repository upstream), consultare http://stackoverflow.com/questions/8448973/how-do-you-deal-with-a-public-repository -that-has-already-been -based/8449701 # 8449701 – Cascabel

risposta

20

si dovrà modificare il commit (git commit --amend --author="New Author Name <[email protected]>") sul repository e forza locale di spinta - git push -f la modifica (la cronologia di riscrittura è generalmente una cattiva pratica dopo aver spinto a monte).

+0

git push -f non funziona per me –

5

Un'altra soluzione completa.

In caso di più git-push fatto senza rendersi conto che il commit è andato con un altro account di posta elettronica. ora devi cambiarlo. ecco il comando che ho usato per trasformare tutti i miei impegni precedenti con una email diversa nel nuovo ID di posta elettronica.

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='Tarandeep Singh'; GIT_AUTHOR_EMAIL='[email protected]'; GIT_COMMITTER_NAME='Tarandeep Singh'; GIT_COMMITTER_EMAIL='[email protected]';" HEAD; 

Nota: Dopo aver copiato il comando precedente prego al primo cambio per il vostro nome e indirizzo email dove sto usando il mio nome e indirizzo email nel comando

Grazie

+2

lol alla "Nota" riguardo si prega di cambiare per usare i propri dettagli .. :) –