Image
CI\CD/Git

[git] local, global config 파일의 구성과 조작

git config 파일의 위치

global config 파일의 위치

git의 global config 파일은 ~/.gitconfig 에 있다.

 

 git의 local config 파일의 위치

git의 local config 파일은 .git/config 에 있다.

 

 


 

git config 파일의 구성

git config 파일은 두가지 계층으로 이루어져 있다. [ ] 으로 감싸진 카테고리= 왼쪽에 있는 파라미터와 오른쪽에 있는 파라미터에 대응되는 값이다. 

 

예를 들어 아래에는 core 카테고리 안에 repositoryformatversion, filemode, bare, logallrefupdates, ignorecase, precomposeunicode 파라미터가 있다. git은 조작 명령이 들어올 때 이 config 파일을 읽고 config 파일의 설정에 맞춰 조작한다.

$ cat .git/config
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
	precomposeunicode = true

 

따라서 이 값을 직접 수정할 경우 값이 바뀌게 된다.

 

 


 

git config 파일을 조작하는 방법

git config 파일을 조작하는 방법은 직접 config 파일을 수정하는 방법과 명령어를 통해 config 파일을 수정하는 방법 두 가지가 있다. 직접 config 파일을 수정할 경우 제대로 이해하지 않고 수정하면 git repo가 망가질 수 있으므로 명령어를 통해 수정하는 것이 권장된다.

 

직접  config 파일을 조작

텍스트 편집기를 통해 직접 config 파일을 조작할 수 있다. 예를 들어 위에 나왔던 .git/config 파일에서 ignorecase 파라미터를 다음과 같이 vim을 사용해 바꿀 수 있다.

vim .git/config

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = false # 조작
        precomposeunicode = true

 

*vim은 i를 통해 편집 모드를 :wq를 이용해 저장한다. 자신이 익숙한 텍스트 편집기로 편집해도 되므로 꼭 vim으로 할 필요는 없다.

 

명령어를 통해 config 파일을 조작

아래 명령어를 통해 config 파일을 조작할 수 있다. 아래에서 하나 하나 차례대로 설명하겠다.

git config [local or global] [category].[parameter] [value]

 

[local or global] : --local , --global

--local을 쓰면 .git/config 파일이 수정되며, --global을 쓰면 ~/gitconfig 파일이 수정된다. 이 둘의 차이점은 해당 git repository에만 적용되는지 모든 git repository에 적용되는지의 차이이다.

 

[category]

category는 config 파일에서 []로 감싸여 있는 부분이다. 예를 들어 [그림1]을 기준으로는 [core] 가 category 이름이다.

 

그림1. category

 

[parameter]와 [value]

 parameter은 category 아래에 있는 [parameter] = [value] 쌍에서 왼쪽에 있는 값이다. [그림1] 에서는 epositoryformatversion, filemode, bare, logallrefupdates, ignorecase, precomposeunicode 가 파라미터이다. value는 해당 파라미터에 대응되는 값이다.

 

 

조작 예시

예를 들어 로컬 config 파일인 .git/config의 [core]의 ignorecase를 false 로 바꾸고 싶다면 

git config --local core.ignorecase false

을 사용하면 된다.

 

$ git config --local core.ignorecase false                    
$ cat .git/config                         
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = false
        precomposeunicode = true
반응형

 

이 글의 저작권은 '조세영의 Kotlin World' 에 있습니다. 글, 이미지 무단 재배포 및 변경을 금지합니다.

 

 

Kotlin, Android, Spring 사용자 오픈 카톡

오셔서 궁금한 점을 질문해보세요!
비밀번호 : kotlin22

open.kakao.com