리눅스 & 안드로이드2011. 12. 9. 14:31
형상관리 도구를 사용하면서 commit 메시지는 상당히 중요하지만 귀찮은 부분이기도 하다.

Git을 사용할 때, 윈도우 환경에서 사용할 수 있는 변변한 GUI 클라이언트가 없는 관계로 LINUX 터미널에서 작업을 하게 된다.
LINUX 사용자들이 널리(?) 사용하고 있는 vi(m)을 이용해서 commit 메시지를 작성할 수 있지만, 부득이한 사정으로 commit 메시지를 조금씩 조금씩 추가해서 작성할 경우 미리 작성 해 놓은 파일로 바로 commit을 할 수 있다면 편리할 수도 있을 것 같았다. (물론 copy & paste의 방법이 있기도 한데, 그냥 찾아보고 싶기도 하였고... 암튼 언젠가 필요한 상황이 몇 번은 생기지 않을까? : ) 풉)

그래서 찾아보니 꼼수(?)를 사용해서 이용할 수 있는 방법이 있었다. (세상엔 똑똑한 사람들이 정말 많다ㅎㅎ)

git config --global core.editor "cp ~/git_commit_msg.txt"

또는

# vi ~/.gitconfig 실행 후 아래 카테고리에 추가 혹은 수정


[core]

editor = cp ~/git_commit_msg.txt


위와 같이 설정 해 두고, 홈 디렉토리에 git_commit_msg.txt 라는 파일로 commit 메시지를 작성 해두고, commit을 하면 텍스트 파일의 내용이 commit 메시지로 추가된다.

P.S. 원리를 간략히 설명하면 다음과 같다.
Git에서 commit 메시지를 작성할 때 사용할 편집기를 지정 해 두면, 현재 indexing 된 파일들의 목록을 .git/COMMIT_EDITMSG 파일로 생성한 후 해당 파일을 열도록 되어 있다.

즉, 예를들어 편집기를 'gedit'으로 설정 해 두었다면, 아래와 같은 명령이 commit하는 시점에 실행된다고 이해하면 될 듯.

# gedit .git/COMMIT_EDITMSG

그리고 지금 설정한 대로 위 명령을 바꿔보면,
# cp ~/git_commit_msg.txt .git/COMMIT_EDITMSG 


위와 같이 실행 되므로, COMMIT_EDITMSG라는 파일이 내가 생성한 파일로 대치되고, 해당 내용이 commit 메시지로 사용되게 된다.

Posted by 세월의돌