65531


# 概要

会社のGitHubに個人のGitHub名でPushしてしまったため、その名義を変更したい。

# 状況

会社のBitbucketに個人のGitHubアカウント名義のAuthorでPuthし、プルリクを開けてしまいました。  
（1）`git commit --allow-empty -m "WIP"`で空コミット＆Push  
（2）プルリクOpen  
（3）しばらく作業し、コミット＆Push  
（4）差分確認のためにプルリクのページを確認  
（5）＼(^o^)／ｵﾜﾀ  
な状態です。  
※（2）で気づけとか言わないで…いつも使ってる名義なので違和感なかったの

# やってみたこと

以下サイトの記事通りに、

[GitのCommitユーザを修正する方法 -
Qiita](https://qiita.com/y10exxx/items/dcea0e39788d649ca8ba)

[code]

     git filter-branch -f --env-filter \
      "GIT_AUTHOR_NAME='new'; \
       GIT_AUTHOR_EMAIL='new@example.com'; \
       GIT_COMMITTER_NAME='new'; \
       GIT_COMMITTER_EMAIL='new@example.com';" \
      HEAD
    
[/code]

を実行してみると、全コミットを書き換えようとしているように見えて、慌ててCtrl+C。  
SourceTreeを確認したところ、書き換わっていないようで今の所ホッとしています。

しかし、この状況の打破にはならず困っています。

# 質問

特定のCommitのAuthorを変更するにはどうしたら良いのでしょうか？  
幸いにもCommitは4つほどなのでCommitID指定で書き換えも出来ます。  
ご存じの方がいらっしゃいましたら、ご教示いただけましと幸いです。

よろしくお願いいたします。


CC BY-SA 4.0
2020-04-11T03:28:15.667
65530
2020-04-11T07:09:17.703
2020-04-11T07:09:17.703
3060
31257
question
git
git pushしてしまった後にコミットのAuthorを変更する方法は？


参照されているページの
[補足](https://qiita.com/y10exxx/items/dcea0e39788d649ca8ba#%E8%A3%9C%E8%B6%B3)節、あるいは[GitHubヘルプ:
作者情報の変更](https://help.github.com/ja/github/using-git/changing-author-
info)にも同じ主旨の内容が書かれていますが、それらは committerのemailで書き換えるコミットを絞り込んでいます:

[code]

    #!/bin/sh
    
    git filter-branch --env-filter '
    
    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@example.com"
    
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
    
[/code]

上記のコードでは `OLD_EMAIL` に書き換え対象のcommitのcommitter
emailを設定するわけですが、ここに"個人のGitHubアカウント"のemailを設定することで所望の動作になるのではないでしょうか。


CC BY-SA 4.0
2020-04-11T04:29:03.293
65531
2020-04-11T04:29:03.293
2808
65530
answer