コミットAuthor情報の変更


2021年7月31日

事件の発端


これは「YouTubeクローンコード」シリーズを行う過程で、コミットの作成に努力しています.コミットはリモート・リポジトリでプッシュされたことは明らかですが、送信履歴は緑で入力されていません.当時は単純な間違いだった.
しかし、プロジェクトは1週間以上行われ、提出数は70件に近いにもかかわらず、この間の貢献履歴は一度も満たされていない.変な感じで、プロジェクトライブラリページに入り、コミット履歴を確認しました.「Hyuno Choi」のみを含むべきライセンス部分は、AuthorとCommitterに分かれています.
最初は、オペレーティングシステムをウィンドウからMacに変更したからだと思います.これは、コミットされたEメールアドレスがリポジトリの所有者のEメールアドレスと一致しないためです.
VS codeに入ってGit Graphを開き、前に提出した内容を見てみると、私の電子メールアドレスではなく[email protected]が含まれていることがわかりました.初めてmacbookを取得して開発環境を設定する場合、git config設定も明確になっているようですが、その時はどこか間違っていたかもしれません.

rebase -i


ライセンスに関する情報もコミット構成の一部であるため,十分な修正の余地があると考えられる.そして、修正された提出を羽葉中心--forceにプッシュする.
Googlingが予想したように、rebase -iコマンドを使用してコミットを変更できます.$ git rebase -i 커밋 해쉬태그このコマンドは、最後に作成したコミットからハッシュタグコミットまでの範囲を変更します.「ハッシュタグがコミットされる前のみ」という問題のため、最初のコミットは変更できません.$ git rebase -i --rootコマンドを使用すると、すべてのコミットが基本範囲に入ります.私は最初から間違って提出したので、すべての提出を範囲に指定しました.
pick 65ac929 First commit
pick aa3bb09 Second commit
pick 7896dd4 Thrid commit

# Rebase 7896dd4 onto 3e0e6f5 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
...
プロジェクトフォルダにrebaseコマンドを入力すると、このVimエディタウィンドウが表示されます.以上の説明では、ロケーションの練習フォルダを作成しました.上部には、基本コマンドで指定した範囲に対応するコミットリストがあります.ここでは、変更するコミット前の文字をpickからeditまたはeに変更できます.
edit 65ac929 First commit
edit aa3bb09 Second commit
edit 7896dd4 Thrid commit
vimエディタなので、修正時にiを押して入力モードに入り、修正が完了したらescを押してコマンドモードに入り、:wqを押して保存して終了します.
これからeditのコミットが行われると、順次リカバリモードに移行します.author情報を変更するには、次のコマンドを入力します.
git commit --amend --author="Author < [email protected] > "
Authorにはお名前、emailにはEメールアドレスが含まれています.「Hyuno Choi <[email protected]」と書きました
プロンプトが表示されると、「Vimエディタ」ウィンドウが表示され、コミットメッセージを変更できます.コミットメッセージは変更されないので、:qですぐに終了します.次に、git rebase --continueコマンドを入力して、次のコミットの作成者を変更します.次は次の提出です.この範囲内のすべてのコミットは、ループの終了をもたらし、Successfully rebasedにプロンプトを表示します.

n/a.結論


一連のプロセスは70回...約2週間後、紛失した2週間ほどの芝生を取り戻した.

70件以上の提出を修正するのに時間がかかったが、襟で起こり得る問題を解決したと思うと、気持ちは悪くない.🙃
<参考文献>
  • http://treeindev.net/article/git-change-commit-name