2012-06-17 1 views
8

私は自分のプロジェクトで働いていますし、私は自分の連絡先情報などをコミットする必要がある第三者のために仕事をしています。私は通常、グローバルコミット名などを使用しますが、ディレクトリに応じてコミット名と電子メールを指定する必要があります。 Gitでどうしたらいいですか?Git Commit作者の電子メールはディレクトリやプロジェクトに応じて変更されますか?

おそらく有益な関連情報

  1. What is the difference between author and committer in Git?

  2. Git commit with no email

+0

の可能性のある重複した[私は.gitconfigに自分のために複数のユーザーを指定することはできますか?](https://stackoverflow.com/questions/4220416/can-i-にこのような行を追加することができますGitconfigで指定したマルチプルユーザ用) –

答えて

13

グローバル設定に取って代わるリポジトリごとのユーザー名と電子メールアドレスを持つことができます。現在のリポジトリで行われたコミットには影響しますが、他のリポジトリではコミットには影響しません。

git config -l | fgrep user. 

これは、複数のエントリ(例えば、両方のグローバルとローカルの構成設定)を示してもよいが、何が示されている:あなたは、あなたの地元の情報がであなたのグローバルなデフォルトをオーバーライドしていることを確認することができます

git config user.name "Foo Bar" 
git config user.email "[email protected]" 

リスト内の最後のが優先されます。

2

あなたのCHをコミットするには、次のコマンドを使用します

git commit -m "Commit message" --author "Your Name <email>" 

次に、コミットを明示的に設定することができます。

+0

...これを暗黙的/自動化する方法はありませんか?おそらく、ギトライトのように集中しているものの、資格情報と連絡先を管理するためのもの(おそらく可能かどうかは不明だが)は? – hhh

0

フォルダごとに異なる作成者/コミッター名/電子メールを指定する必要がある場合。あなたは、あなたの.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; }' 
関連する問題