시작하기

클론

새 저장소 → 클론, 또는 ⌘K → 클론. URL을 붙여 넣거나, GitHub, GitLab, Bitbucket, Azure DevOps에 로그인해 내 저장소 중에서 고르세요. 선택한 프로필의 토큰은 클론에 쓰인 뒤 버려지고, .git/config에는 결코 기록되지 않아요.

상위 폴더와 이름을 고르면, 입력란 아래 줄에 저장소가 정확히 어디에 놓일지 표시돼요. 이미 존재하는 폴더는 합쳐지지 않고 거부돼요.

고급 — 클론 범위 좁히기

고급 아래의 모든 항목은 기본적으로 꺼져 있어요. 그대로 두면 평범하고 완전한 클론을 얻어요. 이 항목들이 값어치를 하는 건 "완전한"이 20분과 수 기가바이트를 뜻하는 저장소에서예요.

고급을 펼친 클론 대화상자: 부분 클론, 얕은 클론, 단일 브랜치, 서브모듈, 그리고 브랜치 선택기

옵션 git이 하는 일 대가
부분 클론 --filter=blob:none 히스토리는 전부, 파일 내용은 없음. 블롭은 필요할 때 받아 오므로 오래된 파일을 열려면 네트워크가 필요해요.
얕은 클론 --depth=N 가장 최근 N개의 커밋만 존재해요. blame, log, bisect, range-diff가 그 절단면에서 멈춰요.
브랜치 하나만 --single-branch 다른 브랜치들은 페치할 때까지 원격에 남아 있어요.
서브모듈도 클론 --recurse-submodules 모든 서브모듈까지 체크아웃돼요. 지금은 시간이 더 들지만, 나중에 빠진 디렉터리가 없어요.
체크아웃할 브랜치 --branch <name> 원격의 기본 브랜치 대신 그 브랜치에서 시작해요.

얕은 것보다 부분이 먼저예요. 부분 클론은 모든 커밋을 유지하므로 히스토리는 계속 검색할 수 있고, 파일 내용만 필요할 때 가져와요. 얕은 클론은 실제로 히스토리를 버려요. git log가 절단면에서 끝나고 blame은 그 너머를 보지 못해요. 안에서 작업하려고 모노레포를 클론하는 거라면 대개 부분 클론이 원하는 쪽이에요.

얕은 클론은 되돌릴 수 있어요. 터미널에서 git fetch --unshallow를 실행하면 히스토리가 다시 채워져요.

브랜치 고르기

브랜치 이름을 입력하거나, 브랜치 목록 보기를 눌러 원격에 무엇이 있는지 물어보고 (git ls-remote --heads) 드롭다운에서 고르세요. 네트워크 왕복은 한 번뿐이고, 버튼을 누를 때만 일어나요. 입력하는 동안에는 아무것도 조회하지 않아요.

목록 조회가 실패하면 — 아직 토큰이 없는 비공개 URL, 오타, 네트워크 없음 — 그 항목은 그냥 텍스트 입력란으로 남고, 실제 오류는 클론 자체가 알려 줘요.

플래그에 대한 두 가지 메모

  • --depth는 --single-branch를 함축해요. 얕은 클론에서 브랜치 하나만을 체크하지 않은 채 두는 것이 곧 다른 브랜치들을 다시 요청하는 일(--no-single-branch) 이고, 그래서 그 아래 안내 문구가 바뀌어요.
  • 로컬 폴더를 클론할 때는 보통 --depth가 완전히 무시돼요. git이 가져오는 대신 객체 저장소를 하드링크하거든요. 로컬 저장소의 얕은 사본을 요청하면 Gitcito는 file:// URL을 통해 클론해서, 요청한 깊이가 실제로 얻는 깊이가 되게 해요.

진행 상황

막대는 git이 보고하는 것을 그대로 보고해요. 세는 중, 압축 중, 받는 중, 해석 중, 체크아웃 중. 전체량을 보고할 수 없는 단계에서는 가짜 백분율 대신 진행 정도를 알 수 없는 막대가 표시돼요.

새 저장소는 탭으로 열리고, 클론에 사용한 프로필에 고정돼요.

GitHub에서 이 번역 개선하기