私は別のコンピューターからコミットした git リポジトリを持っているため、最終的に 2 人の異なる貢献者として表示されましたが、実際には 1 人のユーザー、つまり私です。これらのユーザーを 1 つにまとめるにはどうすればよいですか?
3 に答える
両方のマシンでユーザー名と電子メールを同じに設定する必要があります。
git config --global user.name <name>
git config --global user.email <email>
既存のコミットを変更したい場合は、履歴を書き換えることになることに注意してください。
この回答を参照できます: How do I rewrite the committer names in a git repository?
@SergiuDumitriuは、すべてのメールをhttps://github.com/settings/emailsのアカウントに追加することについて正しいです。このようにして、(さまざまな電子メールから) コミットされたすべての作業が GitHub アカウントにリンクされ、貢献した各リポジトリの [グラフ] セクションに集約されます。
ただし、これをコンピュータのローカル リポジトリでも行うに.mailmap
は、リポジトリのルートにファイルをコミットして、メールをすべてリンクする必要があります。この git 機能とファイル形式の詳細については、git shortlogドキュメントを参照してください。
このように実行$ git shortlog -s -n
すると、すべての ID が正しく集約されます。
すべてのコミットを GitHub アカウントにリンクすることだけを考えている場合は、両方のメール アドレスをアカウントに追加するだけで十分です。
既存のすべてのコミットを本当に変更したい場合は、コードが実際に他の誰かによって使用されていない限り、それを行わないでください。すべてのコミット、リポジトリ内の履歴全体を書き換えるからです。
それでもやりたい場合は、この回答git-filter-branch --env-filter
に見られるように、を使用する必要があります。