programing

Visual Studio Code의 나란히 있는 파일에서 'git diff'를 보려면 어떻게 해야 합니까?

itsource 2023. 8. 15. 20:26
반응형

Visual Studio Code의 나란히 있는 파일에서 'git diff'를 보려면 어떻게 해야 합니까?

명령어로 파일을 보는 방법을 알고 싶습니다.git diff master origin/masterVisual Studio Code 터미있니다습널의에▁visual.

나는 했습니다.git fetch원격 저장소에서, 그리고 이제 나는 diff를 보고 싶지만, 명령을 사용하여 터미널에서 나를 보여주세요.

내가 원하는 것의 예:

Screenshot of diff viewer in Visual Studio Code

Visual Studio Code의 왼쪽에는 다음과 같은 Git 아이콘이 있습니다.

이 아이콘을 클릭한 다음 Changes(변경) 아래에 나열된 파일 중 하나를 두 번 클릭하면 Git 차이를 양쪽에서 볼 수 있습니다.

지점마다 다른 변화를 보고 싶다면 추가 작업이 있습니다.를 들어 Feature 분기의 마지막 N개 커밋의 모든 변경 내용을 확인하려고 합니다.

  1. Visual Studio Code를 ~/.gitconfig 파일에 추가하여 기본 diff 도구로 설정합니다.

    [diff]
        tool = vscode
    [difftool "vscode"]
        cmd = code --wait --diff $LOCAL $REMOTE
    
  2. Git 프로젝트로 이동합니다.입력:

    git diffTool {{filename}에서 확인할 수 있습니다. 를 들어 git diffTool 마스터

  3. 각 파일을 Visual Studio Code에서 열 것인지 여부를 묻는 메시지가 나타납니다.

Visual Studio Code에서 다음을 수행할 수 있습니다.

  1. 설정 열기(On window/linux File > 기본 설정 > 설정)On macOS Code > 환경설정 > 설정)
  2. diff 검색
  3. 특정 설정은 Diff Editor입니다.나란히 렌더링합니다.확인란을 표시합니다.

몇 시간 동안 확장 기능을 검색, 설치 및 제거한 결과 VSC에 이미 구현된 것으로 보입니다.

오른쪽 상단 아이콘을 클릭하십시오. - "변경사항 열기"

파일만 표시하고 변경 내용은 표시하지 않습니다.오른쪽 위 아이콘 - "파일 열기"

enter image description here

두 개의 임의 참조(예: 분기와 분기 간 비교, 커밋과 다른 커밋 간 비교)를 비교하려면 인덱스가 변경된 것처럼 한 번에 모든 파일을 쉽게 볼 수 있습니다.

  • GitLens 확장 설치
  • 왼쪽 창에서 Source 컨트롤로 이동합니다.아이콘이 없으면 View -> SCM(소스 컨트롤 표시) 메뉴에서 보거나 정의된 바로 가기를 사용할 수 있습니다.
  • 마지막 섹션 검색 및 비교 확장
  • 참조 비교 버튼을 클릭합니다.
  • 참조를 선택하면 변경된 파일 목록이 나타나고 한 파일을 클릭하면 변경 내용이 좌우로 표시됩니다.

Image showing the button

저는 여기서 비슷한 질문에 답했습니다.

그러나 기본적으로 다음 명령을 사용할 수 있습니다.

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

열기~/.gitconfigVisual Studio 코:

code  ~/.gitconfig

을 다복니합에 다음 합니다.~/.gitconfig:

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

변경 내용을 저장합니다.+ + '를 실행하여 Visual Studio Code에서 터미널을 엽니다.터미널에서 다음 명령을 실행합니다.

git difftool master origin/master

다음은 마지막 커밋(현재 분기) 이후의 변경 사항을 쉽게 볼 수 있는 방법입니다.

  1. VS Code 왼쪽에 있는 Git 아이콘 클릭
  2. 마지막으로 커밋한 이후 파일을 변경한 경우 "CHANGES" 아래에 나열된 파일이 표시됩니다.
  3. 파일 이름("CHANGES" 아래)을 마우스 오른쪽 단추로 클릭하고 "변경사항 열기"를 클릭합니다.
  4. 이렇게 하면 파일의 두 버전이 변경 사항이 강조 표시된 상태로 나란히 열립니다.

Image showing example of VS Code displaying changes

이제 인라인 보기 전환 가능(점 3개)

넌 할 수 있다.diffEXPLORER 또는 OPEN EDITORS 목록의 파일을 마우스 오른쪽 버튼으로 클릭하고 Select for Compare를 선택한 다음 두 번째 파일을 마우스 오른쪽 버튼으로 클릭하여 Compare with <file_name_you_choose>선택합니다.

또는 키보드에서 + +를 누르고 메뉴 파일 → 활성 파일 비교 대상...을 선택합니다.최신 파일 목록이 제공됩니다.예:

Enter image description here

Vcode 자체는 두 파일 간의 차이점을 보여줄 수 있습니다.

code --diff file1.txt file2.txt

저는 이것이 독립적이라고 믿습니다.git diff특징.

통합된 및 이 없는 파일 "VCode"를 할 수 .git difftool다른 답변에서 설명한 것처럼 - 또는 다음과 같이 더 안전한(그리고 전세계적).

git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
git config --global diff.tool vscode   # optionally as default

VSCode에서 이러한 종류의 맞춤형 차이를 완벽하게 통합하려면 다음과 같이 하십시오.

# possibly commit or stash a dirty work tree before switching
git switch origin/master --detach  # new master in worktree
git reset master                   # old master as detached HEAD (diff base)

이제 이 "맞춤형 차이"를 VSCode에서 일반적으로 확인하고 사용할 수 있습니다. 즉, 워크트리의 차이입니다.HEAD : Git SCM 아이콘 사용, 파일 변경시 더블/우클릭, 인라인 diff view 전환 등

이제 작업 트리에서 직접 작업할 수도 있습니다.이러한 변경 사항을 커밋하려면 다음과 같이 하십시오.

git reset origin/master    # base for added changes only
# review the bare added delta again (in VSCode)
git add/commit ...
git branch/tag my_master_fixup   # name it

그런 다음 새 마스터를 평소와 같이 병합하고 기능 분기로 다시 전환합니다. 가능하면 my_master_fixup, rebase 등을 체리픽합니다.

이 답변이 제대로 작동하려면 몇 가지 단계를 따라야 합니다. 이전 답변에서 이미 반복되었지만 완전성을 위해 다시 작성하겠습니다.

파일 열기~/.gitconfig다음 행을 추가합니다.

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

일부 답변에서 제안된 다음 단계는 다음과 같습니다.git difftool <local_branch> origin/<remote_branch>.

그러나 다음과 같은 다른 가능성도 있습니다.

git fetch origin <remote_branch>
git difftool FETCH_HEAD

또한 이러한 성가신 프롬프트가 표시되지 않도록 항상 다음 작업을 수행할 수 있습니다.

git config --global difftool.prompt false

이전 버전과 비교할 수 있는 또 다른 방법은 다음과 같습니다.

  1. 에서Explorer판넬
  2. 비교할 파일을 선택한 다음 상황에 맞는 메뉴를 열고(오른쪽 클릭) 선택Select for Compare.
  3. 상황에 맞는 메뉴를 연 다음Open Timeline이전 변경사항을 로드할 때까지 기다립니다.
  4. 에서Timeline탭에서 이전 버전을 선택하고 상황에 맞는 메뉴를 열고 다음을 클릭할 수 있습니다.Compare with Selected.

그러면 diff 파일이 나란히 표시됩니다.

compare with previous

v1.48 릴리스 정보:

소스 제어 보기를 탐색할 때 변경 사항을 누르면 키보드 탐색을 쉽게 할 수 있도록 이제 미리 보기 편집기로 열리고 소스 제어 보기에서 포커스가 유지됩니다.

그래서 당신은 당신의 scm 파일을 변경하고 다른 뷰를 열 수 있습니다.포커스는 SCM 보기에 남아 있으므로 계속할 수 있습니다.

언급URL : https://stackoverflow.com/questions/51316233/how-can-i-see-git-diff-on-the-visual-studio-code-side-by-side-file

반응형