Git config 확인 - Git config hwag-in

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 이름이다.

Git config 확인 - Git config hwag-in
그림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

git config

2021.08.14 - git 사용자 설정에서는 git 사용 환경, 그중에서도 사용자 설정하는 방법에 대해 정리해두었다.

이 글에서는 설정을 수정하기 위해 초기화하는 방법을 정리해둔다.

git config 설정 확인

현재 설정은 --list 옵션 또는 --get 옵션을 통해서 확인할 수 있다.

로컬 저장소마다 설정이 다를 수 있으므로, 확인할 로컬 저장소로 이동하여 확인하는 것이 좋다.

모든 설정 확인

--list 옵션을 이용해 모든 설정을 확인한다.

git config -l
# -l : --list. 모든 설정 확인
Git config 확인 - Git config hwag-in

특정 설정 확인

--get 옵션을 이용해 특정 설정값을 확인한다. --get은 생략할 수 있다.

git config -get <NAME>

# 또는
git config <NAME>
Git config 확인 - Git config hwag-in

설정 초기화

--unset 옵션을 이용해 설정을 삭제할 수 있다.

git config --unset <NAME>

# 예시
git config --local --unset user.name
Git config 확인 - Git config hwag-in

--unset 옵션으로 user.name 설정이 삭제되었음을 알 수 있다. 이제 원하는 값으로 설정하면 된다.

설정 범위와 설정 파일 확인

삭제할 설정의 scope과 설정이 저장된 파일을 확인이 필요할 때는 아래 명령어를 이용한다.

# scope 확인
git config --show-scope <NAME>

## 예시
git config --show-scope user.name



# 설정 파일 확인
git config --show-origin <NAME>

## 예시
git config --show-origin user.name
Git config 확인 - Git config hwag-in

참고 문서

https://jieunyi.tistory.com/6

https://git-scm.com/docs/git-config