プロジェクトレベルのgitconfigの設定


先週、私は完全に私のシステムをarch Linuxに移行しました.
Git configはそれらの1つでした.私は、私が働いていたプロジェクトに基づいて使用するために、ユーザー名、電子メール、SSHキーのような別々のコンフィグを持っていました.
たとえば、私のプロジェクトプロジェクトには、個人のプロジェクトで使用する資格情報よりも資格情報(ユーザー名、メール、SSHキー)の異なるセットが必要です.
私も前にこれをしたが、しばらくして、私はそれを行う方法を忘れる傾向がある.今回は、必要に応じて私がそれを参照できるように、ポストでそれを書いています.

ステップ

  • プロジェクトを格納するディレクトリに移動し、希望の資格情報を.project.gitconfigを作成します.
  • [user]
        name = work-username
        email = [email protected]
    
  • は、.gitconfigの下で現在のユーザーレベル$HOME/.gitconfigを編集して、以下の条件を含んでいます
  • [includeIf "gitdir:ABSOLUTE_PROJECT_DIRECTORY_PATH"]
        path = "ABSOLUTE_PROJECT_DIRECTORY_PATH/.project.gitconfig"
    
    基本的には、git

    "If you find a .git directory nested under this path then, use these set of credentials."


    検証


    さて、プロジェクト/プロジェクトルートディレクトリ内のプロジェクトに移動し、正しい資格情報が使用されていることを確認します.
    git config --list | grep -P "user|email"
    

    注意


    この設定がgitディレクトリであるかどうかを調べます.
    例えば、
    work/
    |- .work.gitconfig
    |- project-a/
       |- .git/
    |- project-b/
       |- .git/
    
    現在、私の.git.gitまたは.work.gitconfigの中にあるが、project-aの内部ではない.