8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Git commit 時のメールアドレスをディレクトリによって使い分ける

Posted at

複数の組織に属していてレポジトリによって git commit 時のメールアドレスを使い分けたい場合がある。

これまでは ~/.gitconfig で設定したデフォルトではないメールアドレスを使いたいレポジトリごとに git config user.email=project-specific@example.com のようにメールアドレスを設定していた。
レポジトリごとに設定しないといけないので結構面倒だ。

特定のメールアドレスを使うレポジトリは決まったディレクトリ以下に置くことが多いので、親ディレクトリレベルでメールアドレスを設定できたらいいな、と思っていた。
これ絶対やり方あるよな、と思いたって検索したら出てきたのでメモ。

Conditional include を使うと、特定条件を満たす場合のみ別の config を include することができる。
条件として .git ディレクトリの場所を指定できる。例えば gitdir:/foo/bar/ の場合は /foo/bar/ 以下に .git ディレクトリがあれば include される。

というわけで仕事用のメールアドレスを設定したかったので、次のようにした。

[includeIf "gitdir:~/gitWorkspace/for/work/"]
        path = ~/.gitconfig.work

のように ~/.gitconfig に書いておき、 ~/.gitconfig.work

[user]
        email = work@example.com

のように書いた。

git config の内容は最後に出てきたものが優先されるので、 includeIf をデフォルトのメール設定より下に書くことにより、仕事用のディレクトリにチェックアウトしたものだけ仕事用のメールアドレスになる。

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?