Linux용 Windows 하위 시스템 Git을 사용하는 시작

Git은 가장 일반적으로 사용되는 버전 제어 시스템입니다. Git을 사용하면 파일에 대한 변경 내용을 추적할 수 있으므로 수행된 작업을 기록하고 필요한 경우 이전 버전의 파일로 되돌릴 수 있습니다. 또한 Git은 공동 작업을 더 쉽게 만들어 여러 사람의 변경 내용을 모두 하나의 원본으로 병합할 수 있도록 합니다.

Git은 WSL의 Windows AND에 설치할 수 있습니다.

중요한 고려 사항: WSL을 사용하도록 설정하고 Linux 배포를 설치할 때 Windows NTFS C:\에서 분리된 새 파일 시스템을 설치합니다. 컴퓨터에서 드라이브. Linux에서는 드라이브에 문자가 제공되지 않습니다. 탑재 지점이 제공됩니다. 파일 시스템의 / 루트는 WSL의 경우 루트 파티션 또는 폴더의 탑재 지점입니다. 아래 / 의 모든 것이 동일한 드라이브는 아닙니다. 예를 들어 랩톱에서 Debian뿐만 아니라 두 가지 버전의 Ubuntu(20.04 및 18.04)를 설치했습니다. 해당 배포를 열면 명령으로 홈 디렉터리를 선택한 다음 명령을 cd ~explorer.exe .입력합니다. Windows 파일 탐색기 열리고 해당 배포에 대한 디렉터리 경로를 표시합니다.

Linux 배포판 홈 폴더에 액세스하는 Windows 경로
Ubuntu 20.04 \\wsl$\Ubuntu-20.04\home\username
Ubuntu 18.04 \\wsl$\Ubuntu-18.04\home\username
Debian \\wsl$\Debian\home\username
Windows PowerShell C:\Users\username

WSL 배포 명령줄 대신 C:\Users\usernameWSL 배포 명령줄에서 Windows 파일 디렉터리에 액세스하려는 경우 Linux 배포판에서 Windows 파일 시스템을 탑재된 드라이브로 보기 때문에 디렉터리가 사용하여 /mnt/c/Users/username액세스됩니다.

Git을 사용하려는 각 파일 시스템에 설치해야 합니다.

Showing Git versions by distro

Git 설치

Git은 대부분의 Linux용 Windows 하위 시스템 배포판과 함께 이미 설치되어 있지만 최신 버전으로 업데이트할 수 있습니다. 또한 git 구성 파일을 설정해야 합니다.

Git을 설치하려면 Linux용 Git 다운로드 사이트를 참조하세요. 각 Linux 배포에는 고유한 패키지 관리자 및 설치 명령이 있습니다.

Ubuntu/Debian에서 안정적인 최신 Git 버전의 경우 다음 명령을 입력합니다.

sudo apt-get install git

참고

아직 설치하지 않은 경우 Windows Git을 설치할 수도 있습니다.

Git 구성 파일 설정

Git 구성 파일을 설정하려면 작업 중인 배포에 대한 명령줄을 열고 이 명령으로 이름을 설정합니다("Your Name"을 기본 사용자 이름으로 바꿈).

git config --global user.name "Your Name"

이 명령을 사용하여 전자 메일을 설정합니다("youremail@domain.com"를 원하는 전자 메일로 대체).

git config --global user.email "youremail@domain.com"

아직 GitHub 계정이 없는 경우 GitHub 등록할 수 있습니다. 이전에 Git를 사용한 경험이 없는 경우 GitHub 가이드를 보면 시작하는 데 도움이 될 수 있습니다. Git 구성을 편집해야 하는 경우 nano nano ~/.gitconfig와 같은 기본 제공 텍스트 편집기를 사용하여 편집할 수 있습니다.

2FA(2단계 인증)를 사용하여 계정을 보호하는 것이 좋습니다.

Git 자격 증명 관리자 설정

GCM(Git Credential Manager)는 WSL1 WSL2와 함께 사용할 수 있는 .NET 기반의 보안 Git 자격 증명 도우미입니다. 이를 통해 GitHub 리포지토리, Azure DevOps, Azure DevOps Server 및 Bitbucket에 대한 다단계 인증을 지원할 수 있습니다.

GCM GitHub 같은 서비스에 대한 인증 흐름에 통합되고 호스팅 공급자에 인증되면 새 인증 토큰을 요청합니다. 그런 다음 토큰을 Windows 자격 증명 관리자에 안전하게 저장합니다. 처음으로 Git을 사용하여 다시 인증할 필요 없이 호스팅 공급자와 통신할 수 있습니다. Git이 Windows 자격 증명 관리자의 토큰에 액세스할 것입니다.

WSL에서 GCM 사용하려면 Windows 10 버전 1903 이상에 있어야 합니다. GCM WSL 배포에서 Git과 상호 운용하는 데 사용하는 필수 wsl.exe 도구를 포함하는 Windows 첫 번째 버전입니다.

WSL과 Windows 호스트 간에 자격 증명 & 설정을 공유하려면 Windows 최신 Git을 설치하는 것이 좋습니다. Git 자격 증명 관리자는 Windows Git에 포함되며 최신 버전은 Windows 릴리스용 새 Git에 각각 포함됩니다. 설치하는 동안 GCM 기본값으로 설정된 자격 증명 도우미를 선택하라는 메시지가 표시됩니다.

Windows Git을 설치하지 않는 이유가 있는 경우 WSL 배포에서 직접 Linux 애플리케이션으로 GCM 설치할 수 있지만 이렇게 하면 GCM Linux 애플리케이션으로 실행 중이며 호스트 Windows 운영 체제의 인증 또는 자격 증명 스토리지 기능을 활용할 수 없습니다. Windows Git 없이 WSL을 구성하는 방법에 대한 지침은 GCM 리포지토리를 참조하세요.

WSL 배포에서 사용할 GCM 설정하려면 배포를 열고 다음 명령을 입력합니다.

GIT가 >설치된 경우 = v2.36.1

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"

버전이 v2.36.1이 < 면 다음 명령을 입력합니다.

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"

참고

WSL Git 설치를 위한 자격 증명 도우미로 GCM 사용하면 WSL Git의 모든 구성 집합이 기본적으로 GCM 적용되지 않습니다. 이는 GCM Windows 애플리케이션으로 실행되므로 Windows 설치에 Git를 사용하여 구성을 쿼리하기 때문입니다. 즉, GCM 대한 프록시 설정은 다른 파일(%USERPROFILE%\.gitconfig\\wsl$\distro\home\$USER\.gitconfig)에 저장될 때 WSL Git뿐만 아니라 Windows Git에 설정해야 합니다. GCM WSL Git 구성을 사용하도록 WSL을 구성할 수 있지만 이는 프록시 설정이 특정 WSL 설치에 고유하며 다른 사용자 또는 Windows 호스트와 공유되지 않음을 의미합니다.

SSH를 사용하여 Git

Git 자격 증명 관리자는 HTTP(S) 원격에서만 작동합니다. SSH에서 Git을 계속 사용할 수 있습니다.

Azure에 대한 추가 구성

Azure Repos 또는 Azure DevOps 사용하려는 경우 몇 가지 추가 구성이 필요합니다.

git config --global credential.https://dev.azure.com.useHttpPath true

이제 WSL 배포 내에서 수행하는 git 작업은 GCM 사용합니다. 호스트용으로 캐시된 자격 증명이 이미 있는 경우 자격 증명 관리자에서 액세스됩니다. 그렇지 않다면 자격 증명을 요청하는 대화 상자 응답이 수신됩니다(Linux 콘솔에 있을 경우도).

코드 서명 보안에 GPG 키를 사용하는 경우 GPG 키를 GitHub 메일과 연결해야 할 수 있습니다.

Git Ignore 파일 추가

프로젝트에 .gitignore 파일을 추가하는 것이 좋습니다. GitHub 사용 사례에 따라 구성된 권장 .gitignore 파일 설정이 포함된 유용한 .gitignore 템플릿 컬렉션을 제공합니다. 예를 들어 Node.js 프로젝트에 대한 GitHub 기본 gitignore 템플릿은 다음과 같습니다.

GitHub 웹 사이트를 사용하여 새 리포지토리를 만들도록 선택하는 경우 README 파일을 사용하여 리포지토리를 초기화하는 데 사용할 수 있는 확인란, 특정 프로젝트 유형에 대해 설정된 .gitignore 파일 및 필요한 경우 라이선스를 추가하는 옵션이 있습니다.

Git 및 VS Code

Visual Studio Code 변경 내용을 표시하고 다양한 git 명령을 처리하는 소스 제어 탭을 포함하여 Git에 대한 기본 제공 지원이 제공됩니다. VS Code Git 지원에 대해 자세히 알아보세요.

Git 줄 끝

Windows, WSL 또는 컨테이너 간에 동일한 리포지토리 폴더로 작업하는 경우 일관된 줄 끝을 설정해야 합니다.

Windows 및 Linux는 서로 다른 기본 줄 끝을 사용하므로 Git은 줄 끝 외에 차이가 없는 많은 수의 수정된 파일을 보고할 수 있습니다. 이러한 일이 발생하지 않도록 하려면 파일을 사용 .gitattributes 하거나 Windows 쪽에서 전역적으로 줄 끝 변환을 사용하지 않도록 설정할 수 있습니다. Git 줄 끝 문제를 해결하는 방법에 대한 이 VS Code 문서를 참조하세요.

추가 리소스