BLOGTIMES
2016/06/30

git で過去のコミットの Author と Commiter を変更する

  git 
このエントリーをはてなブックマークに追加

git で過去のコミットの Author と Commiter が間違っていたので、これをまとめて修正する方法を調べてみたのでメモ。
こういうときは filter-branch を使うのが常套手段のようです。

例えば Author が foo になっているコミットの Author を bar bar <bar@example.com> 、Commiter を baz baz <baz@example.com> に変更する場合は以下のような感じになります。Author は環境変数に入るので、これを使ってシェルスクリプトで処理を組んでやればいいんですね。うまくスクリプトを書けばかなり複雑な書き換えも可能だと思います。

git filter-branch --commit-filter ' if [ "$GIT_AUTHOR_NAME" = "foo" ]; then GIT_AUTHOR_NAME="bar bar"; GIT_AUTHOR_EMAIL="bar@example.com"; GIT_COMMITTER_NAME="baz baz"; GIT_COMMITTER_EMAIL="baz@example.com"; git commit-tree "$@"; else git commit-tree "$@"; fi' HEAD

参考


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8593
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン