Git 설정 : VS Code를 Git 편집기로 변경

저는 Vim을 git 편집기로 사용했지만 VS Code를 git 편집기로 사용하시는 분들도 있어서 해당 내용을 정리해보았습니다.
(이번엔 좋은 글이 있어서 정리가 60%가 복사/붙여넣기… 참고한 블로그는 글 하단을 확인해주세요~!)

요약

VS code를 git 편집기로 사용하고 싶으면 아래와 같이 입력합니다.

$ git config --global core.editor "code --wait"

만일 vim을 git 편집기로 사용하고 싶으면 아래와 같이 입력합니다.

$ git config --global core.editor vim

VS Code를 Git 편집기로 설정

다음과 같이 진행하도록 합니다.

  1. 명령어줄에서 code --help 를 실행하면 도움말이 표시되는지 확인합니다.
    • 도움말이 표시되지 않는다면 다음의 안내에 따라 조치합니다
      • macOS: Command Palette에서 Shell Command: Install ‘Code’ command in path를 선택합니다.
      • 윈도우즈: VS Code 를 설치하는 동안 PATH 에 추가하기를 선택합니다.
      • 리눅스: .deb 또는 .rpm 패키지를 사용하여 설치합니다.
  2. 명령어줄에서 git config --global core.editor "code --wait"를 실행합니다.
    • VS Code를 명령어 줄에서 실행할 때, --wait 옵션을 주면, 명령줄(Command Line)이 새로운 VS Code 인스턴트를 닫을 때까지 대기하도록 할 수 있습니다.
    • 이 옵션은 VS Code를 Git의 편집기로 사용할 때 유용합니다.
    • 이를 적용하면 Git은 실행 중인 VS Code가 닫힐 때까지 대기합니다.

이제 git config --global -e를 실행하면 Git 설정에 아래 그림과 같이 VS Code를 편집기로 사용할 수 있습니다.

VS Code로 git commit 작성

이후로 git commit 명령어를 입력하면 VS Code에서 커밋 메시지를 입력하게 됩니다.

git commit -m "메시지" 가 아니라 git commit 까지만 입력해야 하는 것에 유의합니다.

git commit

아래와 같이 VS code 터미널에 git commit을 입력합니다.

이제 COMMIT_EDITMSG 창이 아래와 같이 뜹니다. 여기에 커밋 메시지를 입력하면 됩니다.

저는 commit template를 미리 설정해놔서 commit 메시지 작성법을 참고할 수 있도록 해놓았습니다.

commit template 설정하기


VS code의 새 창에서 메시지 입력 후 창을 닫으면 commit 작성이 완료 됩니다.

git commit 작성 중 취소

git commit -m “메시지” 형태로 입력을 해버리면 git reset과 같은 번거로운 과정을 거쳐야 하지만 에디터로 작성하면 git commit이후 한번 더 취소할 기회를 얻을 수 있습니다.

에디터에서 입력 값 없이 종료를 한다거나 VIM에서 :q!로 강제 종료를 한다면 commit 입력이 취소됩니다.

이는 git log를 통해서도 다시 한번 입력이 안된 것을 확인 할 수 있습니다.

Git diff 작업을 VS code에서 하도록 설정

git diff 는 현재 작업 중인 파일의 변경 내용을 보여줍니다. 아래 내용을 Git 환경 설정에 넣어주면 git difftool 명령어로 변경 내용을 VS Code로 확인할 수 있습니다. Git 환경 설정은 git config -e 로 가능합니다.

[diff]
	tool = default-difftool
[difftool]
	prompt = false
[difftool "default-difftool"]
	cmd = code --wait --diff $LOCAL $REMOTE

본 설정을 통해 VS Code에 --diff 옵션을 전달함으로써 2개의 파일의 변경사항을 확인하는 작업의 효율을 높여 줍니다.

요약하면, 아래의 예시에서 VS Code를 편집기로 사용할 수 있습니다.

  • git commit은 커밋 메시지를 입력하는데 VS Code를 사용합니다.
  • git add -p를 통해 변경내용을 대화형으로 추가할 수 있습니다.
  • git difftool <commit>^ <commit>은 변경사항에 대한 diff 편집기로 VS Code  사용합니다.

Git merge 작업을 VS code에서 하도록 설정

Merge도 VS Code를 기본 툴로 사용할 수 있습니다.

[merge]
    tool = vscode
[mergetool "vscode"]
    cmd = code --wait $MERGED

작동하지 않는 경우

만약 VS Code Server에 연결을 실패하였다는 메시지가 뜬다면 VS Code Server를 제거한 후 Remote SSH로 다시 접속하여 VS Code Server를 재설치 해줍니다.

참고하면 좋은 글

VS Code를 Git 기본 에디터로 설정하기 | Jay’s Blog (otzslayer.github.io)

Source Control with Git in Visual Studio Code

Leave a Comment

목차