Git은 가장 일반적으로 사용되는 버전 제어 시스템입니다. Git을 사용하면 파일에 대한 변경 내용을 추적할 수 있으므로 수행된 작업을 기록하고 필요한 경우 이전 버전의 파일로 되돌릴 수 있습니다. 또한 Git을 사용하면 공동 작업을 더 쉽게 할 수 있으므로 여러 사람의 변경 내용을 모두 하나의 원본으로 병합할 수 있습니다.
Windows AND On WSL에 Git을 설치할 수 있습니다.
중요한 고려 사항: 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 |
데비안 | \\wsl$\Debian\home\username |
Windows PowerShell | C:\Users\username |
팁
C:\Users\username
대신 WSL 배포 명령줄에서 Windows 파일 디렉터리에 액세스하려는 경우 Linux 배포판에서 Windows 파일 시스템을 탑재된 드라이브로 보기 때문에 /mnt/c/Users/username
사용하여 디렉터리에 액세스합니다.
Git을 사용하려는 각 파일 시스템에 설치해야 합니다.
배포판별 Git 버전을 표시하는
Git 설치
Git은 대부분의 Linux용 Windows 하위 시스템 배포판과 함께 이미 설치되어 있지만 최신 버전으로 업데이트할 수 있습니다. git 구성 파일도 설정해야 합니다.
Git을 설치하려면 Git Download for Linux 사이트를 참조하세요. 각 Linux 배포에는 고유한 패키지 관리자 및 설치 명령이 있습니다.
Ubuntu/Debian에서 안정적인 최신 Git 버전의 경우 다음 명령을 입력합니다.
sudo apt-get install git
Git 구성 파일 설정
Git 구성 파일을 설정하려면 작업 중인 배포에 대한 명령줄을 열고 이 명령으로 이름을 설정합니다("사용자 이름"을 기본 사용자 이름으로 바꿈).
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)을 사용하여 계정을 보호할 것을추천합니다.
Git 자격 증명 관리자 설정
GCM(Git Credential Manager) WSL1 및 WSL2 둘 다에서 사용할 수 있는 .NET 기반으로 구축된 보안 Git 자격 증명 도우미입니다. GitHub 리포지토리, Azure DevOps, Azure DevOps Server 및 Bitbucket에 대한 다단계 인증을 지원합니다.
GCM은 GitHub와 같은 서비스의 인증 흐름에 통합되고 호스팅 공급자에 인증되면 새 인증 토큰을 요청합니다. 그런 다음 토큰을 Windows 자격 증명 관리자안전하게 저장합니다. 처음으로 Git을 사용하여 다시 인증할 필요 없이 호스팅 공급자와 통신할 수 있습니다. Windows 자격 증명 관리자의 토큰에만 액세스합니다.
WSL에서 GCM을 사용하려면 Windows 10 버전 1903 이상에 있어야 합니다. GCM이 WSL 배포에서 Git과 상호 운용하는 데 사용하는 필수 wsl.exe
도구를 포함하는 Windows의 첫 번째 버전입니다.
WSL과 Windows 호스트 간에 자격 증명 & 설정을 공유하려면 Windows 최신 Git을 설치하는 것이 좋습니다. Git Credential Manager는 Windows용 Git에 포함되며 최신 버전은 Windows용 각 새 Git 릴리스에 포함됩니다. 설치하는 동안 GCM이 기본값으로 설정된 자격 증명 도우미를 선택하라는 메시지가 표시됩니다.
Windows용 Git을 설치하지 않는 이유가 있는 경우 WSL 배포에서 직접 Linux 애플리케이션으로 GCM을 설치할 수 있지만, 이렇게 하면 GCM이 Linux 애플리케이션으로 실행 중이며 호스트 Windows 운영 체제의 인증 또는 자격 증명 스토리지 기능을 활용할 수 없습니다. Windows Git 없이 WSL을 구성하는방법에 대한 지침은 GCM 리포지토리를 참조하세요.
WSL 배포에서 사용할 GCM을 설정하려면 배포를 열고 다음 명령을 입력합니다.
설치된 GIT가 >= v2.39.0인 경우
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"
GIT가 설치되어 있고 >= v2.36.1이면
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
그렇지 않고 버전이 < v2.36.1이면 이 명령을 입력합니다.
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.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 Credential Manager는 HTTP(S) 원격에서만 작동합니다. SSH에서 Git을 계속 사용할 수 있습니다.
Azure에 대한 추가 구성
Azure Repos와 Azure DevOps를 사용하려는 경우, 몇 가지 추가 구성이 필요합니다.
git config --global credential.https://dev.azure.com.useHttpPath true
이제 WSL 배포 내에서 수행하는 git 작업은 GCM을 사용합니다. 호스트에 대해 캐시된 자격 증명이 이미 있는 경우 자격 증명 관리자에서 액세스합니다. 그렇지 않은 경우 Linux 콘솔에 있는 경우에도 자격 증명을 요청하는 대화 상자 응답을 받게 됩니다.
Git Ignore 파일 추가
프로젝트에 .gitignore 파일 추가하는 것이 좋습니다. GitHub는 사용 사례에 따라 구성된 권장 .gitignore 파일 설정으로 유용한 .gitignore 템플릿 컬렉션을 제공합니다. 예를 들어, Node.js 프로젝트 에 대해 GitHub의 기본 gitignore 템플릿은입니다.
GitHub 웹 사이트 사용하여 새 리포지토리를 만들선택하는 경우 추가 정보 파일, 특정 프로젝트 형식에 대해 설정된 .gitignore 파일 및 필요한 경우 라이선스를 추가하는 옵션을 사용하여 리포지토리를 초기화하는 데 사용할 수 있는 확인란이 있습니다.
Git 및 VS Code
Visual Studio Code는 변경 내용을 표시하고 다양한 Git 명령을 처리하는 소스 제어 탭을 포함하여 Git에 대한 기본 제공 지원을 제공합니다. VS Code의 Git 지원 대해 자세히 알아봅니다.
Git 줄 끝
Windows, WSL 또는 컨테이너 간에 동일한 리포지토리 폴더를 사용하는 경우 일관된 줄 끝을 설정해야 합니다.
Windows와 Linux는 서로 다른 기본 줄 끝을 사용하므로 Git은 줄 끝 외에 차이가 없는 많은 수의 수정된 파일을 보고할 수 있습니다. 이러한 일이 발생하지 않도록 하려면 .gitattributes
파일을 사용하거나 Windows 쪽에서 전역적으로 줄 끝 변환을 사용하지 않도록 설정할 수 있습니다.
Git 줄 끝 문제를 해결하는 방법에 대한 이VS Code 문서를 참조하세요.
추가 리소스
Windows Subsystem for Linux