私は自分のプロジェクトで作業しており、サードパーティの連絡先情報などをコミットに使用する必要があるサードパーティのために、時々作業を行っています。私は通常、グローバルコミット名などだけを使用しますが、ディレクトリに従ってコミット名と電子メールを指定する必要があります。どうすればGitでそれを行うことができますか?
おそらく有用な関連情報
私は自分のプロジェクトで作業しており、サードパーティの連絡先情報などをコミットに使用する必要があるサードパーティのために、時々作業を行っています。私は通常、グローバルコミット名などだけを使用しますが、ディレクトリに従ってコミット名と電子メールを指定する必要があります。どうすればGitでそれを行うことができますか?
おそらく有用な関連情報
グローバル設定に優先するリポジトリごとのユーザー名と電子メールアドレスを使用できます。現在のリポジトリで行われたコミットには影響しますが、他のリポジトリでは影響しません。
git config user.name "Foo Bar"
git config user.email "foo.bar@example.com"
次の方法で、ローカル情報がグローバルデフォルトを上書きしていることを確認できます。
git config -l | fgrep user.
複数のエントリ(グローバル構成設定とローカル構成設定など)が表示される場合がありますが、リストの最後に表示されているものが優先されます。
次のコマンドを使用して、変更をコミットします
git commit -m "Commit message" --author "Your Name <email>"
次に、作成者を設定し、そのコミットについて明示的に電子メールで送信できるようになります。
フォルダに応じて異なる作成者/コミッター名/メールアドレスを指定する必要がある場合。.bashrcにこのような行を追加できます
PROMPT_COMMAND='[[ $PWD =~ ^path/to/dir.*$ ]] && { export GIT_COMMITTER_EMAIL=email && export GIT_COMMITTER_NAME=name && export GIT_AUTHOR_EMAIL=email && export GIT_AUTHOR_NAME=name; } || { unset GIT_COMMITTER_NAME && unset GIT_COMMITTER_EMAIL && unset GIT_AUTHOR_NAME && unset GIT_AUTHOR_EMAIL; }'