본문 바로가기

Papyrus/Troubleshooting

msysgit를 사용할 때 텍스트 편집기를 지정하려면

git은 서브버전(subversion)과 달리 분산 환경에 유용한 버전 관리 시스템이며, 색다른 재미를 가지고 있다. 그러나, 태생이 태생인만큼 리눅스에서 가장 잘 동작하며, 윈도우 환경에서 구동하는 아파치와 git 저장소를 연동하는 것은 약간의 트윅(tweak)을 필요로 한다. 이 말의 뜻은, 동작하기는 하는데 설정의 안정성은 검증되지 않았다는 뜻이다.


msysgit을 사용할 때 가장 문제가 되는 것은 git 텍스트 편집기를 설정하는 부분이다. 다른 설정과 달리 유독 편집기를 설정하는게 쉽지 않은데, 이것은 msysgit이 디렉토리 구분 문자를 제대로 인식하지 않기 때문이다. msysgit에 포함된 git-bash를 사용하든 명령 프롬프트를 사용하든 공통적으로 발생하는 문제이며, 해결 방법은 다음과 같다.


1. 명령 프롬프트를 사용한다면, 자신이 사용하는 편집기를 구동하는 배치 파일을 작성하고, git-bash를 사용한다면 같은 역할을 수행하는 쉘 스크립트를 작성한다. %* 파라미터를 포함하지 않으면, git에서 넘겨주는 메세지가 텍스트 편집기에 전달되지 않는다.


예)

launch-git-eidtor.bat

"C:/Program Files (x86)/vim/vim.exe" %*


launch-git-editor.sh

#!bin/bash

"C:/Program Files (x86)/vim/vim.exe" %*


2. GIT_EDITOR 환경 변수나 git config core.editor 항목에 해당 파일을 지정한다.

예)

SET GIT_EDITOR=launch-git-editor.bat

git config --global core.editor launch-git-editor.bat OR launch-git-editor.sh


개별 저장소에서 설정을 적용하고 싶다면:

git config core.editor launch-git-editor.bat OR launch-git-editor.sh


3. 경로를 지정하는 부분에 디렉토리 구분 문자가 들어가면 제대로 작동하지 않기 때문에, 작성한 배치 파일이나 쉘 스크립트가 있는 디렉토리를 PATH 환경 변수에 포함해야 한다.