履歴内の特定のコミットの作成者を変更したいのですが、これは最新のコミットではありません。
ベストアンサー1
変更する必要があるコミットよりも前の履歴ポイントから対話的にリベースします ( git rebase -i <earliercommit>
)。リベースするコミットのリストで、変更するコミットのハッシュの横にあるテキストを から に変更しますpick
。edit
次に、git がコミットを変更するように要求したら、これを使用します。
git commit --amend --author="Author Name <[email protected]>" --no-edit
たとえば、コミット履歴が で、 と の作成者を変更したい場合は、A-B-C-D-E-F
次のようにします。F
HEAD
C
D
- 特定
git rebase -i B
(git rebase -i B
コマンドを実行した後に表示されるものの例を次に示します。)- 編集する必要がある場合は
A
、git rebase -i --root
- 編集する必要がある場合は
C
との両方をD
からにpick
変更しますedit
- エディターを終了します (vim の場合は、Esc キーを押してから と入力します
:wq
)。 - リベースが開始されると、まず
C
- するでしょう
git commit --amend --author="Author Name <[email protected]>"
- それから
git rebase --continue
- 再び停止すると
D
- するとまた
git commit --amend --author="Author Name <[email protected]>"
git rebase --continue
- リベースが完了します。
git push -f
更新されたコミットで origin を更新するために使用します。