이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

소스 제어 FAQ

이 항목에서는 Visual Studio Code에서 Git 소스 제어 및 GitHub를 사용하는 방법에 대한 자주 묻는 질문에 답변합니다.

Git

Git 커밋을 되돌리거나 취소하는 방법은 무엇인가요?

Git: 마지막 커밋 실행 취소 명령을 사용하여 마지막 커밋을 되돌립니다. 이렇게 하면 커밋 직전의 상태로 분기가 재설정되며 모든 변경 사항이 포함됩니다. 이 명령은 소스 제어 보기 상단의 **커밋** 아래 **추가 작업** ... 메뉴에서도 사용할 수 있습니다.

로컬 브랜치 이름을 바꾸는 방법은 무엇인가요?

Git: 브랜치 이름 바꾸기... 명령을 사용하면 새 이름을 입력하라는 메시지가 표시됩니다.

커밋하기 전에 git add를 취소하는 방법은 무엇인가요?

스테이징된 변경 내용에 나열된 추가된 파일은 **-** 아이콘을 사용하거나 끌어서 놓아 스테이징을 취소할 수 있습니다.

가장 최근 커밋 메시지를 편집하는 방법은 무엇인가요?

마지막 로컬 커밋의 커밋 메시지를 업데이트하려면 Git: 스테이징된 커밋(수정) 명령을 사용합니다. 그러면 마지막 메시지를 편집하고 저장할 수 있는 편집기가 열립니다. 다른 변경 내용이 스테이징되지 않았는지 확인하십시오. 스테이징된 변경 내용이 있으면 커밋에 포함됩니다.

리포지토리를 초기화했지만 ... 메뉴의 작업이 모두 회색으로 표시됩니다.

**푸시, 풀, 동기화**를 하려면 Git 원본이 설정되어 있어야 합니다. 리포지토리 호스트에서 필요한 URL을 가져올 수 있습니다. 해당 URL이 있으면 몇 가지 명령줄 작업을 실행하여 Git 설정에 추가해야 합니다. 예를 들어

> git remote add origin https://github.com/<repo owner>/<repo name>.git
> git push -u origin main

제 팀은 Git 대신 Team Foundation Version Control(TFVC)을 사용합니다. 어떻게 해야 하나요?

Azure Repos 확장을 사용하면 TFVC 지원이 활성화됩니다.

풀, 푸시 및 동기화 작업이 완료되지 않는 이유는 무엇인가요?

이는 일반적으로 Git에 자격 증명 관리가 구성되지 않았고 어떤 이유로든 자격 증명 프롬프트가 표시되지 않기 때문입니다.

원격 서버에서 푸시 및 풀할 때마다 VS Code에서 자격 증명을 묻는 메시지가 표시되지 않도록 하려면 언제든지 자격 증명 도우미를 설정할 수 있습니다.

다단계 인증이 필요한 Azure DevOps 조직으로 Git에 로그인하려면 어떻게 해야 하나요?

Git Credential Manager(GCM)는 Windows, macOS 및 Linux에 권장되는 Git 자격 증명 도우미입니다. Git for Windows를 실행하는 경우 GCM이 이미 설치되고 구성되었습니다. macOS 또는 Linux에서 실행하는 경우 GCM README에 설정 지침이 있습니다.

컴퓨터에 GitHub Desktop이 설치되어 있지만 VS Code는 이를 무시합니다.

VS Code는 Git 통합에 공식 Git 배포판만 지원합니다.

VS Code가 실행될 때마다 Git 인증 대화 상자가 계속 표시됩니다.

VS Code는 서버에서 변경 내용을 자동으로 가져와 들어오는 변경 내용 요약을 제공합니다. Git 인증 대화 상자는 VS Code 자체와 독립적이며 현재 Git 자격 증명 도우미의 일부입니다.

이러한 프롬프트를 피하는 한 가지 방법은 자격 증명을 기억하는 자격 증명 도우미를 설정하는 것입니다.

또는 다음 설정을 변경하여 자동 가져오기 기능을 사용하지 않도록 설정할 수 있습니다. "git.autofetch": false.

VS Code에서 git 리포지토리가 잠재적으로 안전하지 않다는 경고가 표시되는 이유는 무엇인가요?

VS Code는 모든 Git 작업을 실행하기 위해 git.exe를 사용합니다. Git 2.35.2부터는 현재 사용자와 다른 사용자가 소유한 폴더의 리포지토리에서 Git 작업을 실행하는 것이 차단되므로 리포지토리가 잠재적으로 안전하지 않은 것으로 간주됩니다.

그러한 리포지토리를 열려고 하면 VS Code는 소스 제어 보기에서 환영 보기 또는 오류 알림을 표시합니다. 환영 보기와 알림 모두에 잠재적으로 안전하지 않은 리포지토리 목록을 검토하고 안전한 것으로 표시하고 열 수 있는 안전하지 않은 리포지토리 관리 명령이 포함되어 있습니다. 안전하지 않은 리포지토리 관리 명령은 명령 팔레트(⇧⌘P (Windows, Linux Ctrl+Shift+P))에서도 사용할 수 있습니다. 리포지토리를 안전한 것으로 표시하면 리포지토리 위치가 safe.directory git 구성에 추가됩니다.

Windows에서 이 문제가 발생하는 일반적인 시나리오는 관리자 권한으로 실행되는 애플리케이션(예: Windows 터미널 또는 VS Code)을 사용하여 리포지토리를 복제했지만, 해당 리포지토리를 관리자 권한으로 실행되지 않는 다른 애플리케이션 또는 인스턴스(예: VS Code)를 사용하여 여는 경우입니다.

VS Code가 작업 영역 또는 열린 파일의 상위 폴더에서 Git 리포지토리를 검색하지 않는 이유는 무엇인가요?

VS Code는 git rev-parse --show-toplevel을 사용하여 Git 리포지토리의 루트를 결정합니다. 대부분의 경우 Git 리포지토리의 루트는 작업 영역 내부에 있지만, Git 리포지토리의 루트가 작업 영역 또는 열린 파일의 상위 폴더에 있는 시나리오도 있습니다. 작업 영역 또는 열린 파일의 상위 폴더에서 Git 리포지토리를 여는 것은 고급 사용자에게 유용한 기능이지만, 새로운 사용자에게는 혼란을 줄 수 있습니다. 이로 인해 이러한 Git 리포지토리의 변경 사항이 삭제되어 데이터 손실이 발생하는 경우가 있었습니다.

혼란을 방지하고 데이터 손실 위험을 줄이기 위해 VS Code는 알림과 소스 제어 보기에 새 환영 보기를 표시하고 작업 영역 또는 열린 파일의 상위 폴더에서 Git 리포지토리를 자동으로 열지 않습니다.

작업 영역 또는 열린 파일의 상위 폴더에 있는 Git 리포지토리의 처리를 제어하려면 git.openRepositoryInParentFolders 설정을 사용할 수 있습니다. 이전 동작을 복원하려면 git.openRepositoryInParentFolders 설정을 always로 설정하십시오.

SSH Git 인증을 VS Code에서 사용할 수 있나요?

예. VS Code는 암호가 없는 SSH 키와 가장 쉽게 작동합니다. 암호가 있는 SSH 키가 있는 경우 Git Bash 프롬프트에서 VS Code를 시작하여 SSH 환경을 상속해야 합니다.

GitHub

GitHub Enterprise가 지원되나요?

VS Code는 GitHub Enterprise 서버와의 인증을 공식적으로 지원합니다. GHES 리포지토리의 로컬 체크아웃을 열면 GitHub Enterprise 서버 계정으로 로그인하라는 메시지가 표시됩니다.

문제 해결

Git 문제 진단 및 해결에 대한 도움말은 문제 해결 가이드를 참조하십시오. 이 가이드에서는 Git 출력 로그 사용 및 추적 로깅 사용에 대한 자세한 진단 정보를 다룹니다.

© . This site is unofficial and not affiliated with Microsoft.