Git 및 여러 계정으로 작업하는 방법

이 기사에서는 현재 있는 디렉토리를 기반으로 여러 구성을 포함하기 위해 Git includeIf 문을 사용하는 방법을 보여줍니다.


Git의 기본 설정



최근에 새 기계를 설치해야 했습니다. 새로운 환경을 설정할 때 가장 먼저 해야 할 것 중 하나는 setting up Git 입니다.

이것은 다소 간단합니다. Git을 설치하고 이름 및 이메일 설정과 같은 필요에 따라 몇 가지 기본 설정을 구성합니다. 터미널에서 다음 명령을 실행하면 됩니다.

git config --global user.name "John Doe"
git config --global user.email "[email protected]"


이렇게 하면 홈 디렉토리에 있는 전역~/.gitconfig 파일에 설정이 저장됩니다.

[user]
  email = "[email protected]"
  name = "John Doe"


물론 추가로 사용자 정의할 수도 있지만 지금은 간단하게 유지하겠습니다.

다른 계정으로 작업하기



예를 들어 비즈니스 이메일을 사용하여 일상적인 작업을 수행하지만 개인 이메일을 사용하여 다른 오픈 소스 프로젝트에 기여하려는 경우와 같이 다른 계정에 속할 수 있는 다른 프로젝트로 작업할 때 문제가 발생합니다. .

Git을 사용하면 프로젝트별로 로컬.gitconfig을 생성할 수 있으므로 기술적으로 프로젝트별로 개별 구성을 설정할 수 있습니다. git config 플래그 없이 --global를 실행하면 프로젝트 디렉토리.git/config를 기준으로 git config에 앱 설정이 저장됩니다.

이 접근 방식은 단일 프로젝트에서 작동하지만 프로젝트를 전환할 때 확장되지 않습니다.

힘내 포함



운 좋게도 Git에는 현재 디렉터리를 기반으로 다른 구성 파일을 소싱하는 기능이 내장되어 있습니다.

official documentation에 따르면 다음을 수행합니다.

The contents of the included file are inserted immediately as if they had been found at the location of the include directive. If the value of the variable is a relative path, the path is considered to be relative to the configuration file in which the include directive was found.



이것이 실제로 작동하는 방식입니다. 글로벌.gitconfig에서 두 개 이상의includeif 명령문을 작성하십시오. 이 명령문은 일치하는 디렉토리를 기반으로 다른 구성 파일을 제공합니다. 사용자 이름이나 별칭과 같은 공유 구성은 여전히 ​​전역 구성에 들어갈 수 있습니다.

# ~/.gitconfig

[includeIf "gitdir:~/Documents/private/GitHub/"]
  path = ~/Documents/private/GitHub/.gitconfig

[includeIf "gitdir:~/Documents/work/GitHub/"]
  path = ~/Documents/work/GitHub/.gitconfig



# shared configuration like user name, aliases or colors

[user]
  name = "John Doe"


다음으로, 방금 정의한 디렉토리에 또 다른 두 개의 구성을 생성해야 합니다. 이 예에서는 단순히 모든 개인 및 업무 관련 프로젝트에 대한 디렉토리를 만들었습니다.

.
└── Documents
    ├── private
    │   └── GitHub
    │       └── .gitconfig
    └── work
        └── GitHub
            └── .gitconfig


비공개 Git 구성




# ~/Documents/private/GitHub/.gitconfig

[user]
  email = "[email protected]"
  signingkey = "ABC"


작업 Git 구성




# ~/Documents/work/GitHub/.gitconfig

[user]
  email = "[email protected]"
  signingkey = "ZYX"


물론 필요한 경우 여기에 다른 설정을 추가할 수도 있습니다.

추가 리소스


  • Official Git Documentation
  • Stack Overflow Post



  • 읽어주셔서 감사합니다. 다음에 또 이야기 하고, 안전에 유의하세요! 👋

    좋은 웹페이지 즐겨찾기