본문 바로가기

SCM/Git

04. Git 설정하기

 
Git 에서는 책임성을 유지하기 위해 커밋한 사람의 email 과 이름이 반드시 필요하다.
 
이는 git config 라는 도구로 설정 내용을 확인하고 변경할 수 있다.
 
Git 은 이 설정에 따라 동작한다. 이때 사용하는 설정 파일은 세 가지나 된다.
 
Local (working directory 경로 /xxx/.git/config) 가 최우선으로 고려되고
 
그 다음이 Global (USER_HOME/.gitconfig) 
 
그리고 System (시스템 전역 경로 ) 순으로 역순으로 우선순위를 가진다.
 
가능하면 시스템 전역 경로에 있는 config 는 건들지 않는다.
 
 

System
 
git bash 로 들어가서 확인하면 된다.
 
/etc/gitconfig
 
라는 파일로 저장된다. 
 
 

Global 
 
Git 을 설치시 Git 의 사용환경을 적절히 설정해 주어야 한다.
 
설정한 내용은 Git 을 업그레이드해도 유지된다.
 
같이 공유되는 Git 속성은 자신의 홈 디렉토리 아래
 
~/.gitconfig  , 
 
~/.config/git/config 라는 파일로 저장된다.
 
 
 

Local
 
.git/config 파일은 각각의 Git 디렉토리에 있고 특정 저장소(혹은 현재 작업 중인 프로젝트)에만 적용된다.
 
 

사용자 정보
 
Git을 설치하고 나서 가장 먼저 해야 하는 것은 사용자 이름과 이메일 주소를 설정하는 것이다.
 
Git은 커밋할 때마다 이 정보를 사용한다. 한 번 커밋한 후에는 정보를 변경할 수 없다.
 
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
 
다시 말하자면 --global 옵션으로 설정한 것은 딱 한 번만 하면 된다.
 
해당 시스템에서 해당 사용자가 사용할 때에는 이 정보를 사용한다.
 
만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --global 옵션을 빼고 명령을 실행한다.
 
GUI 도구들은 처음 실행할 때 이 설정을 묻는다.
 
 

편집기
 
사용자 정보를 설정하고 나면 Git에서 사용할 텍스트 편집기를 고른다.
 
기본적으로 Git은 시스템의 기본 편집기를 사용하고 보통 Vi나 Vim이다.
 
하지만, Emacs 같은 다른 텍스트 편집기를 사용할 수 있고 아래와 같이 실행하면 된다.
 
$ git config --global core.editor emacs
 
 

설정확인
 
git config --list
 
git config <key>
 
위 명령을 실행하면 설정한 것을 보여준다.
 
그래서 바로 확인할 수 있다.
 
$ git config --list
user.name=John
Doeuser.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
$ git config user.name
John Doe
 
 

에디터 변경
 
git config --global core.editor "notepad"
 
 

Alias
 
git config 를 사용해 각 명령의 Alias 를 쉽게 만들 수 있다.
 
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
 
이제 git commit 대신 git ci 만으로도 커밋할 수 있다.
 
아래와 같이 만들면 파일을 unstage 상태로 쉽게 만들 수 있다.
 
이렇게 설정하면 아래 두 명령은 동일한 명령이 된다.
 
$ git config --global alias.unstage 'reset HEAD --'
$ git unstage fileA
$ git reset HEAD fileA
 
커밋을 확인하기 위해 아래와 같이 할 수 있다.
 
$ git config --global alias.last 'log -1 HEAD'
 
이제 최근 커밋을 쉽게 확인할 수 있다.
 
$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date:   Tue Aug 26 19:48:51 2008 +0800
 
    test for current head
 
    Signed-off-by: Scott Chacon <schacon@example.com>
 
 
 
 
 
 
 
 
 
 
 
 

'SCM > Git' 카테고리의 다른 글

06. Git 에서 관리할 파일 설정하기 - .gitignore  (0) 2020.01.23
05. Git 시작하기 - git init, git clone  (0) 2020.01.23
03. Git 설치하기  (0) 2020.01.23
02. Git 파일의 상태와 기본 Flow  (0) 2020.01.23
01. Git 의 내부  (0) 2020.01.23