vcs/git

Git config

C/H 2017. 6. 14. 08:30

# 시스템 전체 적용
git config --global user.name userame
git config --global user.email username@domaincom

# 개별 저장소에 지정
git config user.name userame
git config user.email username@domaincom

cat project/.git/config 
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
[remote "origin"]
        url = https://username@bitbucket.org/project_name/repository_name.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "stg"]
        remote = origin
        merge = refs/heads/stg
[branch "release"]
        remote = origin
        merge = refs/heads/release
[branch "master"]
        remote = origin
        merge = refs/heads/master
[user]
        email = username@domain.com
        name = username

config file

# 시스템 
/etc/gitconfig
# 사용자 
~/.gitconfig
# 저장소
.git/config

# 우선순위는 저장소 > 사용자 > 시스템  순으로 참조한다.

그 외 설정

git config --global core.editor vi # 에디터 설정
git config --global commit.template $HOME/.gitmessage.txt  # commit 템플릿 설정
git config --global core.pager '' # 명령 메세지 출력형식 지정, less(default), page, ''
git config --global user.signingkey {gpg-key-id} # GPG key 설정, git tag -s {tag-name} 으로 가능하다.
git config --core.excludesfile {file-name} # .gitignore 외부파일 설정, 프로젝트 .gitignore 와 함게 사용할 수 있다.
git config --global color.ui true # git 결과를 컬러로 표시한다.
git config --global merge.tool kdiff3 # diff 툴 설정
git config --global core.autocrlf true # 크로스 플랫폼에서 줄바꿈 문제 해결 CRLF, LF 변환
git config --global core.autocrlf input # commit 시에만 CRLF, LF 변환
git config --global core.whitespace trailing-space,space-before-tab,indent-with-non-tab # whitespace 설정
# trailing-space : 각 줄 끝에 공백이 있는지 찾는다.
# space-before-tab : 모든 줄 처음에 tab보다 공백이 먼저 나오는지 찾는다.
# indent-with-non-tab, cr-at-eol : Default False.
# intent-with-non-tab : tab이 아니라 공백 8자 이상으로 시작하는 줄이 있는지 찾는다.
# cr-at-eol : 줄 끝에 CR 문자가 있어도 괜찮다고 Git에 알리는 것이다.
# 설정에서 해당 옵션을 빼버리거나 이름이 -로 시작하면 기능이 꺼진다. 
git config --system receive.fsckObjects true # push 할 때 SHA-1 체크섬 검증, default : false

help

git config -h
usage: git config []

Config file location
    --global              use global config file
    --system              use system config file
    --local               use repository config file
    -f, --file      use given config file
    --blob       read config from given blob object

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --get-urlmatch        get value specific for the URL: section[.var] URL
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 add a new variable: name value
    --unset               remove a variable: name [value-regex]
    --unset-all           remove all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            open an editor
    --get-color           find the color configured: slot [default]
    --get-colorbool       find the color setting: slot [stdout-is-tty]

Type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)

Other
    -z, --null            terminate values with NUL byte
    --name-only           show variable names only
    --includes            respect include directives on lookup
    --show-origin         show origin of config (file, standard input, blob, command line)
반응형

'vcs > git' 카테고리의 다른 글

Command Line Git Import  (0) 2018.03.02
Git Reset - Rollback  (0) 2017.06.28
tig CUI git Browser  (0) 2017.05.03
centos git 1.7.1 upgrade  (0) 2017.04.18
Linux/Ubuntu SourceTree 대안  (0) 2017.04.06