주니어 개발자 1호

동적 git-config 사용 ( name, email 등 ) - for Window 본문

개발관련 Tip

동적 git-config 사용 ( name, email 등 ) - for Window

No_1 2022. 6. 17. 10:08

시작에 앞서.

Intro


안녕하세요 개발자님들 오늘은 오랜만에 비가 오네요 일주일의 반이나 왔습니다. 조금만 더 힘내서 남은 일들 다 🎳뿌셔뿌셔🎳 하시길 바랍니다!

 

이번에는 한 컴퓨터에서, 컴퓨터 경로에 따라 git이 커밋되었을 때 name email을 다르게 하기 위함이에요. → 개인 git email을 회사에 노출하고 싶지 않을 때

예시로

a폴더에서는 commit할때 email: testA@compay.com , name: testA

b폴더에서는 commit할때 email: testB@leaveWork.com , name: testB

로 커밋될거에요!

 

기존

git config user.name "Your Name Here"
git config user.email your@email.com

변경 후

None. 설정된대로 자동으로!!

 

오구짤

#가보자고


안내


사용 목적

한 💻컴퓨터에서 📁**프로젝트에 따라 commit의 name, email**을 다르게 사용하기 위함

기본 흐름

[변경전]

⌛ git init ( 깃 생성 ) → git config global 옵션 값 → git config —local (name, email) 에 따른 변경

[변경후]

🏎️ git init ( 깃 생성 ) → git config의 옵션 확인 → 옵션에 따른 값 반환 (name, email ) 👍

 

📌 완료 후 주의

1️⃣ gitconfig , custom gitconfig 을 닫아주세요!

2️⃣ 생성 및 테스트 진행할 때 text 파일 혹은 외부 에디터로 gitconfig , custom gitconfig 파일을 열고 있으면 안됩니다!

 

 

 

준비 사항


1️⃣ Git 설치

윈도우 - http://git-scm.com/download/win

2️⃣기존 Git config 수정

  1. 디렉토리 이동
  2. 📁 C:\Users\계정명\ >>[.gitconfig] <<
  3. 메모장 켜기 → .gitconfig 파일을 드래그
  4. 아래와 같이 수정[push]: 잘 모르는 옵션, includeIf 에 의해 덮여진다는 옵션일 것으로 추측[includeIf]: “gitdir:diretory” 옵션에 따라 path에 설정된 git config를 사용
    • gitconfig-my 파일명은 아래 연계
    [user]
    	name = test
    	email = test@gmail.com
    [push]
    	default = current
    [core]
    	autocrlf = input
    [includeIf "gitdir:D:/git_hy/"]
    	path = .gitconfig-my
    
    [includeIf "gitdir:D:/git_R/"]
    	path = .gitconfig-my
    
  5. [core]: 잘 모르는 옵션, if input을 입력 받겠다는 추측
  6. [user]: 기본적인 name과 email - global name, email ( 저의 경우 회사에 필요한 내용으로 구성 )

3️⃣ 사용자 설정 Git config 생성

  1. 디렉토리 이동
  2. 📁 C:\Users\계정명\
  3. 메모장 켜기
  4. 아래내용 등록
    [user]
    	name = 2Ruk
    	email = leerukdev@gmail.com
    
  5. [user]: 커스텀 name과 email - includeIf에 사용 name, email ( 저의 경우 회사외내용으로 구성 )
  6. 저장 ( ⚠️다른이름으로 저장 )→ 파일이름 설정 ( .gitconfig-my ) → 파일이름 아래 파일 형식을 모든 파일 → 저장
  7. 파일 → 다른이름 저장 → 경로확인( 경로는 C:\Users\계정명\ 아마 default 일 것)

 

 

사용 및 TEST


사용

📌 주의

1️⃣ gitconfig , custom gitconfig 을 닫아주세요!

2️⃣ 생성 및 테스트 진행할 때 text 파일 혹은 외부 에디터로 gitconfig , custom gitconfig 파일을 열고 있으면 안됩니다!

 

📁 C:\Users\계정명\.gitconfig 에서 설정했던 파일 디렉토리에 따라

생성( git init )시에 name, email이 다르게 나올것입니다.

기존의 프로젝트는 git init을 다시 해주면 됩니다.

예시

**.gitconfig**
[user]
	name = test
	email = test@gmail.com
[includeIf "gitdir:D:/git_hy/"]
	path = .gitconfig-my
**.gitconfig-my**
[user]
	name = 2Ruk
	email = leerukdev@gmail.com

gitdir:D:/git_hy/ 경로에서는 아래 내용으로 커밋 될 것이며

name = 2Ruk
email = leerukdev@gmail.com

이외 폴더에서는 아래 내용으로 커밋 될 것입니다.

name = test
email = test@gmail.com

TEST

Tool : git-bash ( 폴더에서 우클릭 하면 나오는 git-bash )

사용 명령어

1️⃣ git 생성 : git init

2️⃣ git config 확인: git config --list

📁경로: /d/test ( global config )

결과 :

user.name=test user.email=test@gmail.com

PC-081@PC-081 MINGW64 /d/test
$ git init
Initialized empty Git repository in D:/test/.git/

PC-081@PC-081 MINGW64 /d/test (master)
$ git config --list
...
user.name=test
user.email=test@gmail.com
...

📁경로: /d/git_hy/git-test ( custom config )

결과 : ( 위에 나오는것은 덮여 쓰여져서 아래에 있는 name, email로 사용 됨 )

user.name=2Ruk user.email=leerukdev@gmail.com

PC-081@PC-081 MINGW64 /d/git_hy/git-test
$ git init
Initialized empty Git repository in D:/git_hy/git-test/.git/

PC-081@PC-081 MINGW64 /d/git_hy/git-test (master)
$ git config --list
...
user.name=test
user.email=test@gmail.com
...
user.name=2Ruk 
user.email=leerukdev@gmail.com
...