วิธีการ rebase เชิงโต้ตอบนั้นค่อนข้างดีเมื่อใช้ร่วมกับ exec คุณสามารถเรียกใช้คำสั่งเชลล์กับการกระทำที่เฉพาะเจาะจงหรือการกระทำทั้งหมดในการรีบูต
ก่อนอื่นให้ตั้งค่าผู้แต่ง git ของคุณ
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
จากนั้นให้รีเซ็ตผู้แต่งสำหรับการกระทำทั้งหมดหลังจาก SHA ที่กำหนด
git rebase -i YOUR_SHA -x "git commit --amend --reset-author -CHEAD"
สิ่งนี้จะปรากฏขึ้นบรรณาธิการของคุณเพื่อยืนยันการเปลี่ยนแปลง สิ่งที่คุณต้องทำที่นี่คือการบันทึกและออกและมันจะผ่านแต่ละการกระทำและเรียกใช้คำสั่งที่ระบุในแฟล็ก -x
ตามความคิดเห็นของ @ Dave ด้านล่างคุณยังสามารถเปลี่ยนผู้แต่งในขณะที่ยังคงบันทึกเวลาเดิมด้วย:
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.
... `! [การปฏิเสธจากระยะไกล] master -> master (การกดปฏิเสธเนื่องจากข้อ จำกัด ความเป็นส่วนตัวทางอีเมล) `