Git 저장소별 사용자 설정: 회사 계정과 개인 계정 구분하는 방법

안녕하세요? 깃에 미친 남자 깃미남 입니다.

Git을 사용하다 보면 회사 프로젝트, 사이드 프로젝트, 오픈소스 등 다양한 저장소를 다루게 됩니다. 이때 저장소마다 다른 사용자 이름과 이메일을 사용하고 싶을 때가 있습니다. 예를 들어, 회사 저장소에는 회사 계정 정보를, 개인 프로젝트에는 개인 계정 정보를 사용하는 식입니다.

Git은 저장소 단위로 설정을 다르게 적용할 수 있는 기능을 제공합니다. 이 포스트에서는 Git에서 저장소별로 다른 사용자 정보(user.name, user.email)를 설정하는 방법을 실습을 통해 알아 보겠습니다.

저장소 생성 후 커밋 로그 확인

git init 명령을 사용해 새로운 저장소를 생성하고, 파일 추가 후 커밋을 하나 생성 합니다. 커밋 로그를 확인 하면 다음과 같은 정보가 나타납니다.

% git log
commit 571e78b27f58b633a9df8cfcb6afd976c4fcb6a7 (HEAD -> main)
Author: tommy.kye <tommy.kye@kakaomobility.com>
Date:   Sun Jun 8 01:43:49 2025 +0900

    initial commit

새 저장소 생성 후 사용자 설정을 추가하지 않았지만 커밋한 사용자 정보가 기록 됐습니다. 어떻게 된 것일까요? 이것이 가능한 이유는 이전에 설정한 사용자 정보가 있기 때문입니다. 일반적으로 Git을 사용하기 전에 설정을 하는데 아래와 같이 --global 옵션을 사용해 사용자 정보를 설정합니다.

git config --global user.name "tommy"
git config --global user.email "tommy.kye@kakaomobility.com"

이렇게 한번 설정해 두면 내가 사용하는 모든 저장소에 --global로 설정한 사용자 정보를 사용하게 됩니다. 새로 만든 저장소는 개인 저장소라고 가정하고 회사 계정 대신 개인 계정을 사용하길 원한다고 해 보겠습니다. 이렇게 하기 위해서는 로컬 설정을 지정해주어야 합니다.

저장소에만 적용되는 사용자 정보 설정하기

아래와 같이 로컬 설정을 하면 현재 저장소에 적용되는 사용자 설정을 할 수 있습니다.

git config user.name --local "jusung"
git config user.email --local "kyejusung@gmail.com"

git config user.name "jusung"
git config user.email "kyejusung@gmail.com"

로컬 설정을 하기 위해서는 --local 파라미터를 사용하거나 아무런 파라미터도 지정하지 않으면 됩니다. 이렇게 설정하면 이 저장에는 커밋시 jusung이라는 이름과 kyejusung@gmail.com 이메일이 작성자 정보로 사용됩니다.

Git에서 제공하는 설정 종류와 우선 순위

현재 설정에 globallocal 두 개가 있는데 언제 global 설정이 적용되고 언제 local 설정이 적용되는지 궁금하실 겁니다. Git에는 설정을 적용할 수 있는 범위는 총 세 가지가 있습니다.

설정 범위적용 대상설정 파일 위치설정 방법
로컬 (Local)현재 저장소에만 적용.git/congit–local 혹은
파마미터 생략
글로벌 (Global)현재 사용자에게 적용~/.gitconfig–global
시스템 (System)시스템의 모든 사용자에게 적용/etc/gitconfig–system

설정 적용 우선 순위는 local > global > system 순입니다. Git은 설정을 적용하기 위해 먼저 local 설정이 있는지 확인합니다. 있으면 local 설정을 적용하고, 설정을 찾지 못하면 global 설정이 있는지 탐색합니다. 있으면 global 설정을 사용하고 없다면 system 설정을 찾아서 사용하는 방식입니다.

참고로 설정 적용시 system 설정은 admin 권한으로 설정 명령 수행을 해야 합니다.

(범위 별 사용자 이름 설정 예)

git config user.name --local "jusung"        # 로컬 설정
git config user.name --global "tommy.kye"    # 글로벌 설정
sudo git config user.name --system "gitminam"# 시스템 설정

정리

이번 포스트에서는 Git 저장소마다 다른 사용자 정보 설정하는 방법에 대해 살펴 봤습니다.

👨🏻‍💻Git 지식이 +3 늘었다. 다음 포스트에서 또 만나요 🚀😄


매주 1회 발행되는 Git 뉴스레터 구독하기

Git을 제대로 배우고 싶은 분들을 위해 책, 온라인 강의, 그리고 오프라인 실전 교육까지 다양한 형태로 준비했습니다. 여러분의 학습 스타일에 맞는 방식으로 Git을 제대로 배워보세요. 👇

Leave a Reply

Your email address will not be published. Required fields are marked *

Kakaotalk
Email
Phone
Phone
Email
Kakaotalk