본문 바로가기
DevOps/Git

Git - 자주 사용하는 커맨드 등록(alias), 추천 커맨드 예제

by 맑은안개 2022. 1. 19.

유닉스 시스템과 같이 자주 사용하는 커맨드(명령어)를 git에서도 사용할 수 있다. 이를 alias(별명)으로 부르는데 alias는 gitconfig파일을 이용하여 등록하거나 git config 커맨드를 사용하여 등록할 수 있다.

실행환경

Windows 10에 Git이 설치된 환경에서 Git bash를 실행한다.

1. gitconfig 파일 사용, alias 등록

gitconfig파일 열기

git config 명령을 사용하여 .gitconfig파일을 연다.

$ vi ~/.gitconfig

위와 동일하게, 아래 명렁어로 .gitconfig파일을 열수 있다.

$ git config --global -e

커맨드 등록

.gitconfig[alias]부분에 자주 사용하는 커맨드를 등록한다.( vi 편집 )

[user]
        email = cyh0214@namuplanet.com
        name = cyh0214
[http]
        sslVerify = false
[difftool "sourcetree"]
        cmd = '' \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]
        cmd = "'' "
        trustExitCode = true
[alias]
        ll = log --graph --oneline --date-order --all
        br = branch -avv
  • 한줄 단위로 보여지는 로그 그래프를 유닉스 명령과 유사하게 ll로 등록
  • 모든 로컬브랜치와 각 브랜치가 연결되어 있는 리모트 브랜치를 출력하는 명령을 br로 등록

2. git config 커맨드 사용, alias등록

위에서 등록한 두개의 alias는 아래와 같이 git config 커맨드를 사용하여 동일하게 등록할 수 있다.

$git config --global alias.ll 'log --graph --oneline --date-order --all'

$git config --global alias.br 'branch -avv'

gitconfig 확인

$ git config --global --list
user.email=user@email.com
user.name=user
http.sslverify=false
difftool.sourcetree.cmd='' "$LOCAL" "$REMOTE"
mergetool.sourcetree.cmd=''
mergetool.sourcetree.trustexitcode=true
alias.ll=log --graph --oneline --date-order --all
alias.br=branch -avv

3. 유용한 alias

git 상태 확인

$ git config --global alias.st 'status -st'

$ git st
## dev...origin/dev
 M app.js
  • -s 옵션을 사용하면 축약된 표현이 나오는데 공식사이트를 참조한다.

모든 브랜치 로그 그래픽 출력

$  git config --global alias.ll 'log --graph --oneline --date-order --all'

모든 로컬/리모트 브랜치 확인

$ git config --global alias.st 'branch -avv'

$ git br
* dev                   8350a43 [origin/dev] resolve conflict
  master                653e0c4 [origin/master] add function plus
  remotes/origin/HEAD   -> origin/master
  remotes/origin/dev    8350a43 resolve conflict
  remotes/origin/master 653e0c4 add function plus

마지막 커밋 확인

$ git config --global alias.last 'log -1 HEAD --stat'

$ git last
commit 8350a4308ffaf81641ad851307e7adf688a14d7a (HEAD -> dev, origin/dev)
Author: user1 <user1@youngwonhan.com>
Date:   Mon Jan 17 17:21:48 2022 +0900

    resolve conflict

 app.js | 4 ----
 1 file changed, 4 deletions(-)
반응형