Interaktif rebase yaklaşımı exec ile birlikte kullanıldığında oldukça güzel. Belirli bir taahhüde veya rebase'deki tüm taahhütlere karşı herhangi bir kabuk komutunu çalıştırabilirsiniz.
Önce git yazar ayarlarınızı yapın
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
Daha sonra verilen SHA'dan sonraki tüm taahhütler için yazarı sıfırlamak için
git rebase -i YOUR_SHA -x "git commit --amend --reset-author -CHEAD"
Bu, değişiklikleri onaylamak için düzenleyicinizi açacaktır. Burada yapmanız gereken tek şey kaydetmek ve çıkmak ve her bir taahhüdü gözden geçirecek ve -x bayrağında belirtilen komutu çalıştıracaktır.
Aşağıdaki @ Dave'in yorumuna göre, orijinal zaman damgalarını korurken yazarı da değiştirebilirsiniz:
git rebase -i YOUR_SHA -x "git commit --amend --author 'New Name <new_address@example.com>' -CHEAD"
remote: error: GH007: Your push would publish a private email address.
... `! [uzaktan reddedildi] master -> master (e-posta gizliliği kısıtlamaları nedeniyle push reddedildi) `.