최소한의 정보와 부분적으로 만 보이는 해시로 커밋의 한 줄 목록을 볼 수 있다고 가정 해 봅시다: git fetch가 어떻게 작동하는지 더 잘 이해하려면 Git이 커밋을 구성하고 저장하는 방법에 대해 논의할 수 있습니다. 저장소의 ./git/개체 디렉토리에서 Git은 모든 커밋, 로컬 및 원격 을 저장합니다. Git은 분기 참조를 사용하여 원격 및 로컬 분기 커밋을 별도로 유지합니다. 로컬 브랜치에 대한 참조는 ./git/refs/heads/에 저장됩니다. git 분기 명령을 실행하면 로컬 분기 참조 목록이 출력됩니다. 다음은 일부 데모 분기 이름이 있는 git 분기 출력의 예입니다. 오른쪽 상단 모서리에 있는 코드 찾아보기 버튼을 클릭합니다. 이 페이지는 해당 커밋 후 전체 트리를 표현합니다. 이제 오른쪽에있는 “ZIP 다운로드”버튼을 클릭하여 역사의 특정 시간에 전체 프로젝트의 지퍼 버전을 다운로드 할 수 있습니다. 그런 다음 선택한 브랜치의 모든 커밋이 HTTPS 연결을 통해 Gerrit로 전송됩니다. 업로드 권한 부여를 사용하려면 HTTPS 암호를 구성해야 합니다. 암호 생성기를 방문하여 HTTPS를 통해 사용할 새 사용자 이름/암호 쌍을 생성합니다. search.cpan.org 복제본(또는 GitHub를 사용하는 다른 프로젝트)의 개발을 따르기 위해 다양한 커밋에서 프로젝트의 스냅샷을 살펴볼 수 있습니다.

그러면 GitHub 사용자 이름과 암호에 대한 메시지가 표시됩니다. 커밋을 푸시한 후 GitHub의 리포지토리를 방문하여 변경 내용이 반영되고 리포지토리에 대한 전체 커밋 기록에 액세스할 수 있습니다! 이 옵션은 두 번 이상 지정될 수 있습니다. 그렇다면 Git은 지정된 커밋에서 연결할 수 있는 커밋을 보고합니다. 프로젝트의 기본 GitHub 페이지에서 왼쪽 상단에 있는 NNN 커밋을 클릭합니다. 가장 최근 커밋부터 그 아래의 이전 커밋까지커밋 목록을 볼 수 있습니다. 아래로 스크롤하여 “이전” 단추를 클릭하여 이전 커밋을 볼 수 있습니다. git fetch 명령은 원격 리포지토리에서 로컬 리포지토리로 커밋, 파일 및 참조를 다운로드합니다. 가져오기는 다른 사람들이 작업하고 있는 작업을 보고 싶을 때 수행하는 작업입니다. 중앙 기록이 어떻게 진행되었는지 볼 수 있다는 점에서 svn 업데이트와 유사하지만 실제로 변경 내용을 리포지토리에 병합하도록 강요하지는 않습니다.

Git은 가져온 콘텐츠를 기존 로컬 콘텐츠에서 분리하므로 로컬 개발 작업에 전혀 영향을 미치지 않습니다. 가져온 콘텐츠는 git 체크 아웃 명령을 사용하여 명시적으로 체크 아웃해야 합니다. 이렇게 하면 커밋을 로컬 리포지토리와 통합하기 전에 커밋을 검토하는 안전한 방법을 가져올 수 있습니다. 업스트림 마스터에 추가된 커밋을 보려면 원본/마스터를 필터로 사용하여 git 로그를 실행할 수 있습니다. 또한 다른 리포지토리에서 필요한 커밋 및 파일을 모두 다운로드합니다. 검토 시스템에서 지정된 변경 사항을 다운로드하여 프로젝트의 로컬 작업 디렉토리에서 사용할 수 있습니다. 원격 분기는 다른 사람의 리포지토리에서 커밋하도록 매핑하는 경우를 제외하고는 로컬 분기와 같습니다. 원격 분기는 로컬 분기와 혼합하지 않도록 원격에 속합니다.

로컬 분기와 마찬가지로 Git에는 원격 분기에 대한 참조도 있습니다.