1. GitBash, GitCMD의 한글 문제


나이가 있어서인지 어떤 작업을 할 때 UI를 사용하는 것보다 직접 명령을 타이핑하는 것이 있어 보인다고 느끼게 됩니다.


요새 Git을 사용하는데 설치 후 보니 Git Bash와 Git CMD 2개가 있어서 이걸로 작업을 해볼까 했는데, 둘 다 한글에 대해서 제대로 출력하지 못하는 문제가 있었습니다.


구글신의 도움도 받아보고, Git 공식 사이트(https://git-scm.com/doc)도 좀 조사해 봤는데 결국 잘 안되서 Cygwin을 사용해서 해결(?)했으나, 그래도 그 경위 및 그 과정에서 알게 된 사실을 정리해 놓기로 합니다.


한 줄 결론 : Cygwin terminal을 사용하기로 함.



2. Git 명령행 창에서 한글을 보기 위한 시도


윈도우 CMD 창의 인코딩이 cp949라서 그렇게 바꿔줘야 한다는 구글신의 말에 따라

Git 글로벌 설정 및 환경 변수까지 지정해봤으나 한글이 깨지는 형태가 바뀔 뿐 제대로 나오지 않았었습니다.

git config --global i18n.commitEncoding cp949
git config --global i18n.logOutputEncoding cp949

set LESSCHARSET=latin1      # Git CMD 의 경우

export LESSCHARSET=latin1   # Git Bash 의 경우


또 Git Bash에서 ls의 출력에서도 한글이 깨져서 ls --show-control-chars 해봤으나 여전히 안되서 미리 설치해 뒀던 Cygwin에서 해봤더니 한글 문제가 전혀 없어서 과감히 Git Bash와 Git CMD의 사용을 포기했습니다.

(아마 윈도우의 언어 설정에 어떤 문제가 있지 않나 싶은데.. 굳이 거기까지 확인하고 싶은 생각은 없습니다.)



3. Cygwin


Cygwin은 윈도우에서 Linux 의 터미널을 쓸 수 있도록 해주는 GNU의 프로그램으로 다운로드 및 설치는 http://zeany.net/15 를, 그리고 설정은 http://zeany.net/29 를 참조하세요. 특히 Cygwin에서도 한글이 깨지는 경우 설정 링크글을 참조하시기 바랍니다.


다음은 Cygwin에서 git을 사용한 화면입니다.




4. Git config 설정


문제는 사용자 홈 디렉토리에 .gitconfig 라는 이름으로 git config --global xxx로 설정한 값들을 저장하는데, 

Git Bash와 Cygwin terminal의 홈이 달라서 그냥 이건 두번 설정하기로 합니다. (또는 .gitconfig 파일을 복사해서 붙여넣어도 됩니다.)


Git Bash의 홈디렉토리는 C:\Users\'user id' 인데 여기 값을 안드로이드 스튜디오와 같은 git 연동 프로그램에서 사용하기 때문에 Git Bash, Git CMD를 사용하지 않더라도 설정은 해놔야 할 것 같습니다.


반대로 Cygwin terminal의 홈디렉토리는 가상의 위치 (/home/'user id')로 보이고 실제 위치는 'Cygwin 설치 디렉토리'/home/'user id' 입니다.


.gitconfig에 설치한 내용은 다음과 같습니다.

  • [user]의 name과 email 정보 : 이 설정은 기본으로 필요합니다.
  • [color]의 ui : git 출력 결과가 칼라로 표시됩니다.
  • [core]의 editor : git 에서 commit 할 때 comment를 적을 때 사용하는 기본 에디터입니다. 기본으로 git에서 찾던 에디터가 원래 vim 이었으나 Cygwin terminal에 vim 패키지가 없어서 우선 notepad로 (즉, editor = notepad) 편집을 하다가 지금은 vim 패키지를 설치해서 사용하고 있습니다. 그 과정에서 남은 설정이니 필요 없으면 삭제해도 무방합니다. (혹시 Cygwin에 vim을 설치하려면 Cygwin에 신규 패치키 설치 (http://zeany.net/29)를 참조하세요.)

참고로 파일을 직접 수정해도 Git global config를 변경할 수 있습니다. (삭제는 이게 가장 편한 듯..) 




5. 드라이브 이동 방법


Cygwin에서 드라이브 이동 방법은 http://zeany.net/30 을 참조하세요.


참고로 Git Bash에서 D:/로 이동하는 방법은 cd /d (C:/로 돌아올 때는 cd /c) 를 사용하면 됩니다.



WRITTEN BY
zeany
이젠 기록하지 않으면 기억되지 않아서.. 이것저것 여기에 새겨 보려고 한다..

트랙백  0 , 댓글  1개가 달렸습니다.
  1. 따개비 2017.01.05 17:30
    깔끔한 정리 감사함다~
secret