동일한 사용자에 대해 여러 Git 구성을 갖는 방법

동일한 사용자에 대해 여러 Git 구성을 갖는 방법은 무엇입니까?



이 기사에서는 작업 중인 프로젝트가 있는 폴더에 따라 다른 Git 구성을 갖는 방법을 살펴봅니다.

단일 프로젝트의 구성을 변경하는 것은 매우 쉽습니다. 그러나 이는 변경을 원하는 모든 프로젝트에 대해 이를 수행해야 함을 의미합니다. 그리고 복제하는 모든 새 프로젝트에서 이 작업을 수행해야 한다는 점을 명심해야 합니다.

여기서 목표는 한 번 설정하고 잊을 수 있도록 하는 것입니다. 그런 다음 새 프로젝트를 복제할 수 있으며 아무 작업도 수행하지 않고 사용자 지정 구성을 사용합니다.

여러 Git 구성이 있는 이유는 무엇입니까?



여러 Git 구성이 필요한 이유는 여러 가지가 있습니다. 예를 들어:
  • 서로 다른 프로젝트에 서로 다른 커밋 이름과 이메일을 사용하기 위해. 예를 들어 업무 프로젝트 및 개인 프로젝트용입니다.
  • 프로젝트에 따라 별칭이 다릅니다. 예를 들어 일부 별칭이 일부 프로젝트에서만 공유되는 컨텍스트에 연결된 경우입니다.
  • 프로젝트마다 동작이 다릅니다. 예를 들어 git pull가 일부 프로젝트에서 병합을 수행하고 다른 프로젝트에서 리베이스를 수행하도록 합니다.

  • 계속해서 갈 수 있습니다. 하지만 결국 Git에서 구성할 수 있는 모든 것을 낭독하게 될 수도 있습니다. 그래서, 나는 하지 않을 것입니다.

    우리가 할 일



    프로젝트에 따라 다른 구성을 갖기 위해 Git 옵션을 사용하여 구성 파일을 조건부로 포함합니다.

    예를 들어 업무 프로젝트인지 개인 프로젝트인지에 따라 다른 이름을 사용합니다.

    다음과 같은 작업 공간 구조가 있다고 가정합니다.

    ~/
        work/
            project1/
            project2/
        perso/
            project3/
            project4/
    



    Git 구성 살펴보기



    먼저 재정의하려는 구성으로 구성 파일을 만들어야 합니다. 예를 들어 ~/work/gitconfig~/perso/gitconfig 각각에 사용자 지정 구성을 추가합니다.

    예를 들어 ~/work/gitconfig:

    [user]
        name = The name I use at work
        email = <[email protected]>
    


    그런 다음 작업 중인 프로젝트에 따라 폴더의 구성을 조건부로 포함할 수 있습니다. 이를 위해 Git 구성(~/.gitconfig)에 새 옵션을 추가합니다.

    [includeIf "gitdir:~/work/**"]
        path = ~/work/gitconfig
    


    이제 ~/work/ 폴더 내의 디렉터리에서 Git 명령을 실행할 때마다 ~/work/gitconfig의 사용자 지정 구성이 기본 구성을 재정의합니다. 그리고 다른 곳에서 명령을 실행하면 실행되지 않습니다.

    포함된 파일에 있는 구성만 재정의됩니다. ~/.gitconfig의 다른 항목은 변경되지 않습니다.

    이것은 모든 것에 대한 공통 구성을 갖는 데 유용합니다. 일부 프로젝트의 경우 약간의 차이만 있습니다.

    (기본 구성 파일에 별칭을 두고 포함된 파일에 새 별칭을 추가할 수 있습니다.)

    다른 SSH 키 사용



    다른 ID를 사용할 때 다른 SSH 키를 사용할 수도 있습니다. 예를 들어 동일한 Git 저장소 호스팅 플랫폼(GitHub, GitLab 등)에서 다른 계정을 사용합니다.

    이를 위해 SSH 구성 파일과 Git의 옵션을 모두 사용하여 작업에 사용되는 URL을 변경합니다.

    다른 SSH 키를 사용할 수 있도록 다음과 같이 SSH 구성( ~/.ssh/config )을 업데이트합니다.

    Host github
        User git
        HostName github.com
        IdentityFile ~/.ssh/id_rsa # change the path to the key here
        IdentitiesOnly true
    


    이것은 github를 원격으로 사용할 때 주어진 경로에서 SSH 키를 사용합니다(여기서는 ~/.ssh/id_rsa ).

    그런 다음 새 SSH 별칭을 사용하려면 사용된 원격을 [email protected]에서 github로 교체해야 합니다. 각 리포지토리에서 원격을 업데이트하거나 Git 구성(~/.gitconfig)에 추가할 수 있습니다.

    [url "github"]
        insteadOf = [email protected]
    



    결론



    이 구성을 사용하여 유연한 Git 구성을 가질 수 있습니다. 일부는 모든 곳에서 동일한 방식으로 Git을 사용하기를 원하기 때문에 프로젝트 간에 공통적입니다. 그러나 작업 중인 프로젝트에 따라 일부 구성을 재정의할 수 있습니다.

    일부 프로젝트에서 다른 커밋 이메일을 사용해야 할 때 정말 유용하고 찾기가 매우 어렵다는 것을 알았습니다.

    의견이 있으시면 댓글이나 비공개로 연락해 주세요. 이것은 공개적으로 배우고 기술적 인 것에 대해 글을 쓰는 첫 번째 시도입니다. 나는 개선할 수 있는 모든 기회에 감사할 것입니다.

    도움이 되었길 바랍니다! 그리고 좋은 구성 세션을 가지고 :)

    좋은 웹페이지 즐겨찾기