Git 문서 활용 및 각종 설정 진행하기
저번에는 Git의 여러가지 특성과 그에 따른 명령어에 대해 이해도를 설명했는데,
이번에는 이런 Git의 문서를 활용하고 다양한 설정을 진행해보는 시간을 가지려고 한다.
1. Git help
git을 활용하면서 모르는 부분이 있을 때, git help를 사용하면 기본적인 명령어들과 설명을 볼 수 있다.
더 많은 명령어를 확인하기 위해서는 git help -a 를 입력하면 Git의 모든 명령어를 볼 수 있다.
추가로 git 명령어 -h 를 입력하면 해당 명령어의 설명과 옵션을 확인할 수 있다.
예를 들어 git commit -h 를 입력하면 commit이 언제 사용되는지, 어떤 옵션이 있는지 확인할 수 있다.
웹에서 확인하고 싶은 경우에는, git help 명령어 혹은 git 명령어 --help 를 입력한면 되는데
그 밖에 git 공식홈페이지 References 에서 다양한 기능들과 명령어, 설명들을 확인할 수 있고
Pro Git 에서 좀더 자세한 Git에 대한 설명들을 확인할 수 있으니, 활용해보는 것도 좋다.

2. Git 의 다양한 설정
이번에는 git config 를 통해 다양한 설정을 하는 방법을 앏아보려고 한다.
먼저 git config는 아래 링크에서 처음 사용해봤는데, git의 설정을 관리하는 명령어이다.
Git 시작하고 기본 설정하기
현업에서 꽤나 오랫동안 일을 하다보니 Git을 종종 사용하고는 한다.그러나 대부분 push, pull만 진행하고 변경사항에 대한 로그만 찾다보니까Git을 조금 더 잘 활용할 수 있는 방법이 있지 않을까
rusharp.tistory.com
여기서 git config --global 에서 global은 git이 깔린 컴퓨터 전체에서의 기본 설정을 하는것이다.
즉, 어떤 프로젝트를 열었을 때 따로 설정을 하지않으면 기본 설정은 global 설정으로 유지된다.
예를 들어 git config --global user.name "global_name" 으로 설정했을 때 어떤 프로젝트를 열면
따로 설정 없이 global_name 으로 설정되지만, 해당 프로젝트에서 git config user.name "project_name"
이렇게 설정한다면 해당 프로젝트에서 user name 은 project_name으로 설정되게 된다.
그밖에 다른 설정들을 볼 수 있는데 먼저 현재 모든 설정값을 확인하는 방법은 git config --list 이다.
반대로 global 로 설정된 모든 값을 확인하는 방법은 git config --global --list 이다.

만약 위 내용을 editor 로 열어보고 싶다면, git config --global -e 를 활용할 수 있는데,
여기에서 git config --global core.editor "code --wait" 을 입력해서 기본 에디터 파일을 변경하면
VS code 에서 git config --global -e 를 입력했을 때, VS code 로 열리게 된다.
해당 명령어를 설명하자면 code 는 편집 프로그램의 exe파일을 의미하고,
--wait 은 에디터에서 수정하는 동안 CLI를 정지시킨 상태로 유지하겠다는 의미이다.
따라서 해당 상태에서 config 파일을 닫기전까지는 터미널에 명령을 내릴 수 없게 된다.

위 변경사항을 원래상태로 돌리기 위해서는 [core] 하위의 editor~
해당 라인을 전체 삭제하고 저장하면 원래 상태로 vi editor 로 열리게 된다.
여기서 설정해두면 유용한 설정이 있는데 첫번째로 git config --global core.autocrlf true 이다.
windows 와 macos 의 줄바꿈 인식 방식이 다르기 때문에 변경된게 없어도 수정되었다고 케이스가 있는데,
이러한 줄바꿈을 호환하기 위한 명령어로 mac 의 경우에는 true 의 자리에 input 을 넣어야 한다.
두번째로 pull 을 할 때 기본전략이 rebase 로 되어있는데, 이걸 변경하고 싶은 경우가 있다.
이럴 때, git config pull.rebase false 를 입력하면 pull의 기본 방식이 merge 로 기본 설정되고
반대로 git config pull.rebase true 를 입력하면 pull의 기본 방식이 rebase로 변경된다.
세번째로 기본 브랜치명을 변경하고 싶다면, git config --global init.defaultBranch "branch 이름" 을 사용한다.
네번째로 로컬 브랜치를 remote의 branch와 연결할 때 자동으로 동일하게 연결하고 싶다면,
--global push.default current 를 사용하여 git push 할 때 -u origin branch 옵션을
매번 지정하지 않아도 브랜치 이름이 동일한 원격 브랜치로 자동 push된다.
마지막으로 git은 단축키를 설정할 수 있다.
git config --global alias.ch checkout 이렇게 입력해두면 ch 입력할 때마다 checkout 을 할 수 있다.

이번에는 git 을 사용할 때 유용한 팁과 다양한 설정들을 하는 방법을 알아보았다.
다음번엔 github 을 할 때에도 어떻게 commit 을 해야 더 잘할 수 있는지 알아보려고 한다.