한 git clone은 작업 사본을 생성하고 일반적으로 origin이라는 이름으로 원격 저장소를 추가합니다. 첫 번째 명령어를 실행하기 전에 함정이 발생합니다: SSH URL은 키를 사용하고, HTTPS URL은 종종 토큰을 요구하며, 대상 폴더는 유용한 파일이 이미 존재하지 않아야 합니다. 온라인에서 가져온 스크립트를 실행하기 전에 이 세 가지 사항을 확인하는 데 두 분 정도 투자하세요.

클론하기 전에 HTTPS 또는 SSH 선택하기
HTTPS를 사용하여 공개 프로젝트를 가져오거나 이 기계에서 키를 설정하고 싶지 않은 경우에 사용하세요. 이후 GitHub, GitLab 또는 본인의 포지터리에 푸시하기 위해서는 계정의 비밀번호만으로는 부족한 경우가 많습니다: 서비스는 개인 액세스 토큰을 요구합니다.
이미 공개 키가 포지터리 계정에 연결되어 있는 경우 SSH를 사용하세요. 이 방법은 토큰을 다시 입력할 필요가 없지만 잘못된 키가 제안되거나 SSH 에이전트가 키를 로드하지 않으면 실패할 수 있습니다. 사용 중인 아이덴티티를 확인하는 것부터 시작하세요:
ssh -T [email protected]
ssh-add -l
첫 번째 호스트를 포지터리에 맞게 조정하세요. 원격 셸 없이 인증 응답을 받는 것은 여러 Git 호스팅 서비스에서 일반적입니다. 여러 키를 관리하는 경우, ~/.ssh/config 파일을 ssh -G [email protected]로 제어하여 Git을 비난하기 전에 확인하세요. 여러 서버에 SSH를 설정하는 방법에 대한 가이드는 여기에서 설명합니다.
빈 식별 가능한 폴더에 복사 생성하기
프로젝트를 위한 디렉터리로 이동하세요. 두 번째 인수가 없으면 Git은 저장소 이름을 사용하여 폴더를 생성합니다. 명확한 이름을 사용하면 테스트 복사본과 수정사항을 포함한 복사본을 혼동하지 않게 됩니다.
mkdir -p ~/projets
cd ~/projets
pwd
ls -la
git clone https://github.com/octocat/Hello-World.git hello-test
cd hello-test
내용을 모르는 폴더에서 클론을 시작하지 마세요. Git은 일반적으로 비어 있지 않은 디렉터리를 거부하지만, 명령어를 실행하기 전에 pwd와 ls -la를 확인하는 것이 더 안전합니다. 코드 읽기 전용 복사를 위해서는 HTTPS가 가장 간단한 선택입니다.
SSH의 경우, 같은 작업은 다음과 같이 보입니다:
git clone [email protected]:mon-compte/mon-projet.git mon-projet
cd mon-projet
호스트, 계정, 저장소를 포지터리에서 표시된 값으로 교체하세요. 의심스러운 메시지에서 받은 URL을 복사하지 마세요. 먼저 프로젝트의 공식 페이지를 열고 소유자, 저장소 이름 및 클론 URL을 비교하세요.
무엇이든 실행하기 전에 리모트와 파일을 확인하세요
클론 후에는 원산지, 활성 브랜치 및 디렉터리 상태를 확인하세요. 이 명령어들은 프로젝트를 수정하지 않습니다:
git remote -v
git branch --show-current
git status
git log -1 --oneline
find . -maxdepth 2 -type f -name 'README*' -o -name 'INSTALL*'
git remote -v는 변경 사항을 가져오고 보내는 데 사용되는 URL을 보여줍니다. 프로젝트에 배포 구성 요소가 포함되어 있다면, 첫 번째 git push 전에 이를 확인하세요. 그런 다음 README, INSTALL 파일, 종속성 및 시작 스크립트를 읽으세요. Git 저장소는 유효한 스크립트, 오래된 스크립트 또는 명백히 위험한 스크립트를 포함할 수 있으며, 클론이 성공했다는 이유만으로 신뢰를 얻지는 않습니다.
나중에 업데이트를 가져오려면 클론된 폴더에 남아 작업을 확인하세요:
git status
git fetch origin
git log --oneline HEAD..origin/$(git branch --show-current)
git pull --ff-only
git pull --ff-only는 로컬 커밋과 원격 저장소가 다를 경우 자동 머지를 거부합니다. 이는 당신이 브랜치나 리모트를 살펴보지 않았을 때 변화를 혼합하는 업데이트보다 더 좋습니다.
git clone의 공식 문서는 --depth, --branch, --recurse-submodules와 같은 옵션을 상세히 설명합니다. 필요가 확인된 경우에만 이들을 사용하세요. 첫 클론을 위한 경우, 확인된 URL, 깨끗한 폴더 및 README 읽기로 대부분의 오류를 방지할 수 있습니다.