Visual Studio Code를 Git MergeTool의 기본 편집기로 사용하는 방법 VS Code를 선호합니다 . Git에

오늘 저는 git mergetoolWindows 명령 프롬프트에서 를 사용하려고했고 기본적으로 Vim 을 사용한다는 것을 깨달았습니다. 이것은 멋지지만 VS Code를 선호합니다 .

Git에 대한 병합 충돌을 처리하기위한 GUI로 Visual Studio Code 기능을 사용하려면 어떻게해야 합니까?



답변

현재 비주얼 스튜디오 코드 1.13 나은 병합 비주얼 스튜디오 코드의 핵심에 통합되었다.

이들을 함께 연결하는 방법은 수정하는 .gitconfig것이며 두 가지 옵션이 있습니다 .

  1. 명령 줄 항목이 작업을 수행하려면 다음의 각을 입력합니다 (참고 : 교체 "'윈도우 힘내 배쉬, 맥 OS 및 Linux에서 이즈 톡 델핀과 e4rache에 의해 명확히로)

    1. git config --global merge.tool vscode
    2. git config --global mergetool.vscode.cmd "code --wait $MERGED"
    3. git config --global diff.tool vscode
    4. git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
  2. 이렇게하려면 .gitconfig Visual Studio Code 를 사용하여에 몇 줄을 붙여 넣습니다 .

    • 실행 git config --global core.editor "code --wait"명령 줄에서.
    • 여기에서 명령을 입력 할 수 있습니다 git config --global -e. 아래의 “추가 블록”에 코드를 붙여 넣으십시오.

      [user]
          name = EricDJohnson
          email = cool-email@neat.org
      [gui]
          recentrepo = E:/src/gitlab/App-Custom/Some-App
      # Comment: You just added this via 'git config --global core.editor "code --wait"'
      [core]
          editor = code --wait
      # Comment: Start of "Extra Block"
      # Comment: This is to unlock Visual Studio Code as your Git diff and Git merge tool
      [merge]
          tool = vscode
      [mergetool "vscode"]
          cmd = code --wait $MERGED
      [diff]
          tool = vscode
      [difftool "vscode"]
          cmd = code --wait --diff $LOCAL $REMOTE
      # Comment: End of "Extra Block"
      

이제 충돌이 실행 된 Git 디렉터리 내 git mergetool에서 병합 충돌을 처리하는 데 도움이되는 Visual Studio Code가 있습니다! ( Visual Studio Code를 닫기 전에 파일저장해야합니다 .)

들어오는 변경 사항을 수락 하시겠습니까?

code명령 줄 에서 시작 하는 방법 에 대한 자세한 내용 은 이 설명서를 참조하십시오 .

자세한 내용은 이 문서git mergetool확인하십시오 .


답변

큰 따옴표를 간단한 따옴표로 바꿔야했습니다.

  git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'

제대로 작동하려면 (큰 따옴표를 사용하면 $ LOCAL 및 $ REMOTE가 해당 값으로 대체됩니다).

Windows 명령 프롬프트 대신 Windows 용 Git Bash 를 사용하는 경우 필요합니다 .


답변

누군가 Visual Studio에서 문제를 해결하려는 경우 다른 옵션은 Visual Studio를 통해 해결하는 것입니다. 팀 탐색기-> 홈 아이콘 클릭 => 설정 버튼 => Git 섹션 확장 => 전역 설정 클릭

여기에 이미지 설명 입력
여기에 이미지 설명 입력
여기에 이미지 설명 입력


답변

우수한 기존 답변 위에 -n명령 줄 에 추가 하여 새 창에서 VS Code를 열어야 합니다.

그래서 당신 git config --global --edit은 이렇게 생겼습니다.

[merge]
        tool = vscode
[mergetool "vscode"]
        cmd = code -n --wait $MERGED
[diff]
        tool = vscode
[difftool "vscode"]
        cmd = code -n --wait --diff $LOCAL $REMOTE


답변

매뉴얼을 사용하면 흥미로운 주장을 찾을 수 있습니다.

git difftool --help
-x <command>, --extcmd=<command>
       Specify a custom command for viewing diffs.  git-difftool ignores the configured defaults and runs $command $LOCAL $REMOTE when this option is specified.
       Additionally, $BASE is set in the environment.

이 정보를 사용하면 git 구성을 건드리지 않고도 다음 명령을 쉽게 사용할 수 있습니다.

git difftool -x "code --wait --diff"

여기에 비슷한 질문


답변