필자가 현재 근무하는 프로젝트는 몹시도 폐쇄적인 환경이다. 예시로 개발실에 들어가기 위해서는 특정 앱을 실행해 현재 실행 중인걸 인증해야 하는데, 앱이 실행되면 핸드폰의 카메라 기능이 삭제되고, 특정 반경 몇 미터 이상까지 나가지 않으면 앱을 실행중지 할 수 없다는 점 때문에 개발실에 안들어가고 하루종일 농땡이 피우지 않는 이상 퇴근하기 전까지는 카메라 사용은 꿈도 못꾼다. 이 외에도 보안 상 신경 써야되는 부분이 여러가지 있는데, 그 중 하나가 형상관리를 전부 커멘드로 직접 입력해야 한다는 것이다. 어디가서 동묵씨 깃 좀 할 줄 아세요? 물어보면 아 저는 깃으로 문제 일으켜 본 적이 없습니다~ 자신 있게 대답하고는 했는데, 막상 툴 하나 없이 전부 커멘드로 하려다 보니 막막했던 적이 한두번이 아니다. 간난신고를 겪고나니 이젠 자유자재로 커맨드를 입력하는 수준이 되었고, 반복적인 커맨드 입력이 귀찮아 이를 좀 더 쉽게, 자동화 할 수 있는 방법이 없을까 찾아보는 과정에 깃에도 Alias가 있다는 것을 알게 되었다. 오늘은 평소에 자주 쓰던 git 커멘드들을 Alias로 줄여 사용해 보는 시간을 갖고자 한다.
⭐️ Alias란?
가명, 별칭
즉, git 명령어에 특정 별칭을 부여해 단축키로 사용하기 위해 git Alias를 활용한다.
🎈Alias 설정
1. 커멘드로 입력하는 경우
git config --global alias."사용할 별칭" "기존 명령어"
(프로젝트마다 다르게 설정하고 싶다면 전역 명령어 --global은 제외해도 된다.)
git config --global alias.br "branch" 를 입력하면 git branch 명령어의 역할을 git br로도 할 수 있는 것이다.
2. vim으로 접근하는 경우
vim ~/.gitconfig
git 환경 설정 파일에 직접 접근해 명령어를 추가하는 방식으로 진행한다.

alias 설정이 끝나면

처럼 기존 기능을 대신 해주는 것을 확인 할 수 있다.
🎈Alias 함수 사용
길고 반복적인 쿼리 작성을 편하게 하기 위하여 프로시저를 사용하듯, alias에는 git 명령어들도 인수를 받아 실행하도록 함수로 만드는 기능이 존재한다.
예를 들어 현재 커밋들에 대한 rebase를 숫자 하나로 끝내고 싶다면
rb-i = "!f() { git rebase -i HEAD~$@;}; f"
이런 식으로 !f(){} 안에 실행하고자 하는 명령어와 조건별로 다르게 들어갈 인수를 $@로 넣어
git rb-i 2
를 입력하면 alias에 저장한 함수가 실행되며 뒤의 숫자가 $@ 위치에 오게 되어 "git rebase -i HEAD~2" 를 실행하게 되는 것이다.

rb-i를 입력하면 rebase vim 화면으로 진입하는 것을 볼 수 있다.
🎈사용 중인 Alias 확인
앞서 설명했던 vim으로도 확인 가능하지만
git config --list(-l 도 가능) | grep(grep: 파일에서 해당 이름과 같은 내용을 검색해주는 명령어) alias
또는
git config --global(local시 삭제 또는 --local) --get-regexp alias
를 사용하면 alias가 포함된 기능들을 리스트로 보여준다.

🎈Alias 삭제
git config --global --unset alias."삭제할 alias"
--unset 조건을 추가하면 기존에 저장해둔 alias 삭제도 가능하다.
이 외에도 alias는 무궁무진하게 사용 가능하다. 필자는 처음 설정할때부터 지금까지 너무도 잘 쓰고 있다. 응용하는 만큼 편의성을 제공해주니 각자 환경에 맞게 찾아보고 설정해주면 처음에는 귀찮아도 후회하지는 않을것이다.