2013-04-25 19 views
20

Also habe ich dummerweise 3 Commits auf einer Maschine gemacht, die nicht für git konfiguriert wurde (kein Autor oder Email) und ich möchte diese 3 Commits ändern (wurden nicht verschoben) Autoren zu dem, was sie sein sollen.Git Rebase Änderung Autor?

Ich weiß git commit --amend kann den Autor ändern, aber wie kann ich es bis 3 tun? Ich weiß, dass Rebase die Nachricht ändern kann. Gibt es eine Möglichkeit, den Autor zu wechseln?

Antwort

16

Sie können interaktives Rebase verwenden. Die Antwort von diesem Beitrag gibt Ihnen ein Beispiel: Change commit author at one specific commit.

Der Autor bittet um den Autor bei einem bestimmten Commit zu ändern, aber interaktive Rebasing kann verwendet werden, um Autoren von mehreren Commits zu ändern, wenn Sie edit alle Commits, die Sie ändern möchten.

Andere mögliche nützliche Techniken zur interaktiven Rebasieren Zusammenhang könnte in der Pro Git Buch http://git-scm.com/book/en/Git-Tools-Rewriting-History, einschließlich Quetschen, redordering, Bearbeitung Meldungen usw.

+0

Das Pro Git Kapitel auch beim 'git filter-branch Nennungen mit Referenz zu finden --commit-filer', um das gleiche zu tun, aber es sei denn, Sie beherrschen bash scripting, ist es wahrscheinlich schwieriger zu benutzen als die interaktive Rebase. –

+0

@ColdHawaiian Vielen Dank für Ihren Kommentar. Ich habe versucht, einen umfassenderen Verweis auf das interaktive Tool zur Neuausrichtung zu geben und sollte dies deutlicher herausstellen. – Yang

+0

Aus irgendeinem Grund scheint dies nicht zu funktionieren. Es ändert nicht den Autor, nur die Nachricht –