본문 바로가기
Git

[Git] config 설정

by 단델x 2023. 1. 25.

git을 사용하면서 자주 사용하는 config 설정들과 config 파일에 대해 알아보자.


config 파일

git 의 config 파일은 설정값을 저장해 놓는 파일로, 기본적으로 git config 명령어를 사용한다.

git의 config 설정은 세 부분으로 나뉘는데, 각 역할에 따라 다르게 사용한다.

 

global 설정

  • 사용자의 홈 디렉토리 밑에 저장되는 config 파일로 
    ~/.config/git/config 혹은 ~/.gitconfig 에서 확인할 수 있다.
  • git 전역에 적용되는 설정으로 git 사용자별로 적용된다.
  • 두 번째로 우선순위가 높다.
  • git config --global

local 설정

  • .git 디렉토리 내의 config 파일에서 확인할 수 있다. 
  • 해당 Repository에만 적용되는 설정 파일로 우선순위가 가장 높다.
  • 동일한 설정 항목이 있을 경우 해당 파일의 설정이 우선된다.
  • 공용컴퓨터를 사용하거나, 회사 저장소와 구분하여 개인작업을 할 때는 local 설정을 사용한다.
  • git config --local

system 설정

  • /etc/gitconfig 시스템 폴더 etc 아래에 저장된다.
  • 시스템의 모든 git 저장소에 적용된다.
  • 관리자의 권한이 필요하며, 우선순위는 가장 낮다.
  • git config --system
## git config 내용을 확인한다.
## .git/config, ~/.gitconfig, /etc/gitconfig 에 동일한 설정이 있다면 우선순위가 출력된다.
$ git config --list
$ git config -l

## 각각의 config 를 확인하고 싶다면 옵션을 붙여서 확인할 수 있다. 
$ git config --system --list
$ git config --global --list
$ git config --local --list

## -show-origin 옵션으로 조회를 하면 
## 설정된 값과 config 파일의 위치를 같이 확인할 수 있다.
$ git config --show-origin user.name

git config --show-origin 출력화면


user.name,  user.email 설정

git을 사용하면서 누가 커밋을 했는지 등의 정보를 표시하기 위해 name과 email을 설정한다.

## --global 옵션으로 전역 설정한다. 
$ git config --global user.name "사용할 이름"
$ git config --global user.email "사용할 메일"

## repository별로 다른 사용자 정보를 사용하기 위해서 —local 옵션을 사용한다.
$ git config --local user.name "사용할 이름"
$ git config --local user.email "사용할 메일"
# 혹은 --local 없이 저장해도 .git/config에 저장된다.

설정된 user 는 커밋시 Author 정보에 들어간다.

삭제를 할 때는 --unset을 사용한다.

# global
$ git config --unset --global user.name
$ git config --unset --global user.email

# local
$ git config --unset user.name
$ git config --unset user.email

fetch.prune 설정

  • remote 저장소에서 지워진 브랜치를 local에 반영하는 옵션은 --prune 이다.
  • prune : (나무를) 전지하다, (가지를) 잘라 내다[치다]
  • fetch나 pull을 할 때 매번 옵션으로 사용했던 것을, config에 설정으로 해두면 따로 옵션을 매번 입력하지 않아도 된다.
  • git branch -a 로 확인했을 때 지워진 브랜치가 로컬에서 지워지지 않고 쌓여있는 문제가 발생 ⇒ prune 사용
## fetch나 pull을 할 때 옵션을 넣어서 사용한다.
$ git fetch --prune
$ git pull --prune

## config에 설정하여 매번 입력하지 않아도 되도록 한다.
$ git config --global fetch.prune true

core.quotepath 설정

  • git을 사용하면 한글 파일명의 경우 문제가 발생하는데 해당 설정을 통해 방지할 수 있다.
  • 일반적이지 않은 문자를 탈출문자(’\’)로 처리하는 기능을 수행한다.
  • core.quotepath 를 끄면 commit, status 등에서 한글 출력이 정상으로 돌아온다.
$ git config --global core.quotepath false

$ git config --global core.quotepath true
$ git config --global core.quotepath false


이외에도 다양한 설정들이 있으니 찾아서 사용해 보길 바란다. 

 


참고

 

Git 설정하기 : git config

Reinventing the Wheel

heekangpark.github.io

 

'Git' 카테고리의 다른 글

[Git] CRLF 설정  (0) 2023.01.25
[Git] git 초기설정 후 push까지 해보기 - CLI방법  (0) 2022.12.13

댓글