업데이트:


개인 개발 공부 프로젝트에는 개인 Git 계정을,

회사 개발 프로젝트에는 회사 Git 계정을 사용해야 한다.

매번 Git 설정을 바꾸기 귀찮아, 디렉토리 별로 Git 계정이 다르게 설정되도록 하려고 한다.


  • Global(전역) Git 계정 : a계정
  • Local(특정 디렉토리) Git 계정 : b계정

위와 같이 설정하려 한다. 즉,

  • A디렉토리
    • B디렉토리

와 같이 A 디렉토리 하위에 B 디렉토리가 있을 때,

  • A디렉토리 : a계정
  • B디렉토리 및 하위 디렉토리 : b계정

위와 같이 Git 계정이 설정되도록 설정하려 한다.


Global Git계정 설정

Global Git 계정 설정을 해보자.

$ sudo vim ~/.gitconfig

위의 명령어로 .gitconfig 파일을 열어, 아래와 같이 수정한다.

[user]
  email = ${a계정 email}
  name = ${a계정 name}
[includeIf "gitdir:${B디렉토리 경로}"] # 마지막이 "/"로 끝나도록 한다. 세미콜론(:) 뒤에 공백이 없도록 한다.
  path = ${B디렉토리 및 하위 디렉토리에 대한 .gitconfig 설정파일 이름}
[core]
  eol = lf                # OS CRLF 처리 방식이 달라 발생할 수 있는 문제에 대한 설정
  autocrlf = input        # OS CRLF 처리 방식이 달라 발생할 수 있는 문제에 대한 설정


B디렉토리 및 하위 디렉토리에 대한 .gitconfig 설정파일 생성

$ sudo vim ${B디렉토리 및 하위 디렉토리에 대한 .gitconfig 설정파일 이름}

위의 명령어로 파일을 생성해, 아래와 같이 작성한다.

[user]
  email = ${b계정 email}
  name = ${b계정 name}

특정 디렉토리에 대한 설정(여기서는 B디렉토리에 대한 설정)은 Global 설정을 무시한다.


credential-osxkeychain 확인

$ git credential-osxkeychain

위의 명령어를 입력해, credential-osxkeychain이 존재하는지 확인한다.

스크린샷 2022-03-20 오후 10 06 46

존재한다면, 위와 같이 출력된다.

위와 같이 출력되지 않는다면, Git을 재설치 해 보길 바란다.


keychain 등록

$ git config --global credential.helper osxkeychain

위의 명령어를 입력한다.

Git에 osxkeychain을 설정하는 명령어다.

위의 명령어를 입력하고 나면,

image

위와 같이 [credential] 항목이 추가된다.


적용 확인

이제 A디렉토리, B디렉토리 각각에 있는 git repository에 가보자.

$ git config user.name
$ git config user.email

위의 명령어들을 입력해, 해당 repository에 적용되어있는 Git 계정을 확인해 보자.


push/pull을 시도하면

  • username
  • password

를 입력하라는 창이 뜰 것이다.

username은 GitHub 등의 username을 입력하면 된다.

password는 GitHub 등에서 발급받은 Personal Access Token을 입력하면 된다.

그러면 이 값들이 mac의 키체인에 자동으로 저장될 것이다.


태그:

업데이트:

댓글남기기