2013-04-25 25 views
20

Więc ja głupio popełniłem 3 zatwierdzenia na komputerze, który nie był skonfigurowany dla git (bez autora lub e-maila) i chcę zmienić te 3 zatwierdzenia (nie zostały zepchnięte) autorów do tego, co oni mają przypuszczać.Autor zmiany Git rebase?

Wiem, że git commit --amend może zmienić autora, ale jak mogę to zrobić do 3? Wiem, że rebase może zmienić wiadomość. Czy istnieje sposób na zmianę autora?

Odpowiedz

16

Możesz użyć interaktywnej bazy danych. Odpowiedź z tego wpisu daje przykład: Change commit author at one specific commit.

Autor prosi o zmianę autora przy konkretnym zatwierdzeniu, ale interaktywne zmiany mogą być użyte do zmiany autorów wielokrotnych zatwierdzeń, jeśli jesteś edit wszystkie zatwierdzenia, które chcesz zmienić.

Inne potencjalne użyteczne techniki związane z interaktywnym podścielanie można znaleźć w książce Pro Git http://git-scm.com/book/en/Git-Tools-Rewriting-History, w tym miażdżąc, redordering, edytowanie wiadomości, itp

+0

Pro Git rozdział odwołać również wyróżnienia za pomocą 'git filter-branch --commit-filer', aby zrobić to samo, ale chyba że jesteś biegły w skryptach basha, prawdopodobnie jest trudniej używać vs interaktywnego rebase. –

+0

@ColdHawaiian Dzięki za komentarz. Starałem się przedstawić bardziej wyczerpujące odniesienie do interaktywnego narzędzia do przekierowania i powinno ono być wyraźniejsze. – Yang

+0

Z jakiegoś powodu to nie działa. To nie zmienia autora, tylko wiadomość –