공유 계정에서 커밋 계정 분리하기 (user.name·user.email)

NOTE

여러 명이 같은 리눅스 계정을 공유하는 서버에서 git config --global을 쓰면 안 되는 이유와, local/환경변수 두 가지 대안.

배경

여러 명이 같은 리눅스 계정을 공유하는 서버에서 git config --global로 이름/이메일을 설정하면, 그 계정을 쓰는 모든 사람의 커밋에 내 정보가 찍힌다. 공유 계정에서는 global 대신 저장소 단위 또는 세션 단위로 좁혀서 설정해야 한다.

방법 1. 저장소 단위 (local) — 재로그인해도 유지

git config user.email "you@example.com"
git config user.name "Your Name"

--global 없이 실행하면 현재 디렉토리의 .git/config에만 저장된다. 다른 저장소·다른 사람에게 영향 없음. 한 저장소에서 계속 작업할 거면 이 방법이 기본.

방법 2. 세션 단위 (환경변수) — 로그아웃하면 사라짐

파일에 아예 흔적을 안 남기고 싶을 때 사용.

export GIT_AUTHOR_NAME="Your Name"
export GIT_AUTHOR_EMAIL="you@example.com"
export GIT_COMMITTER_NAME="Your Name"
export GIT_COMMITTER_EMAIL="you@example.com"

현재 쉘 세션에서 실행하는 모든 git commit에 적용되고, .git/config·~/.gitconfig 어디에도 저장되지 않는다. 터미널을 닫거나 로그아웃하면 사라짐. 일회성 커밋 하나만 할 때 적합.

선택 기준

같은 저장소에서 계속 작업 → 방법 1 (local) 딱 한 번 커밋만 하고 끝 → 방법 2 (환경변수)

관련 문서