Skip to main content

원격 리포지토리에서 변경 내용 가져오기

일반적인 Git 명령을 사용하여 원격 리포지토리에 액세스할 수 있습니다.

변경 내용을 가져오기 위한 옵션

다음 명령은 원격 리포지토리와 상호 작용할 때 매우 유용합니다. clonefetch는 리포지토리의 원격 URL에서 로컬 컴퓨터로 원격 코드를 다운로드하고, merge는 다른 사람의 작업을 자신의 작업과 병합하는 데 사용되며, pullfetchmerge의 조합입니다.

리포지토리 복제

다른 사용자 리포지토리의 전체 복사본을 가져오려면 git clone을 다음과 같이 사용합니다.

$ git clone https://HOSTNAME/USERNAME/REPOSITORY.git
# Clones a repository to your computer

리포지토리를 복제할 때 서로 다른 여러 URL 중에서 선택할 수 있습니다. GitHub에 로그인하는 동안 리포지토리 세부 정보 아래에서 이러한 URL을 사용할 수 있습니다.

원격 URL 목록

git clone을 실행할 때 다음과 같은 동작이 발생합니다.

  • repo라는 새 폴더가 만들어짐
  • Git 리포지토리로 초기화됨
  • 복제한 URL을 가리키는 원격 이름 origin이 만들어짐
  • 리포지토리의 모든 파일 및 커밋이 다운로드됨
  • 기본 분기가 체크 아웃됨

원격 리포지토리의 모든 분기 foo에 대해 해당 원격 추적 분기 refs/remotes/origin/foo가 로컬 리포지토리에 만들어집니다. 일반적으로 이러한 원격 추적 분기 이름을 origin/foo로 축약할 수 있습니다.

원격 리포지토리에서 변경 내용 페치

다른 사용자가 수행한 새 작업을 검색하려면 git fetch를 사용합니다. 리포지토리에서 페치하면 변경 내용이 자신의 분기에 병합되지 않은 채 모든 새 원격 추적 분기 및 태그를 가져오게 됩니다.

원하는 프로젝트에 대해 원격 URL이 설정된 로컬 리포지토리가 이미 있는 경우 터미널에서 git fetch *remotename*을 사용하여 모든 새 정보를 가져올 수 있습니다.

$ git fetch REMOTE-NAME
# Fetches updates made to a remote repository

아니면 항상 새 원격을 추가한 다음 페치할 수 있습니다. 자세한 내용은 “원격 리포지토리 관리”를 참조하세요.

변경 내용을 로컬 분기에 병합

병합은 로컬 변경 내용을 다른 사용자가 변경한 내용과 결합합니다.

일반적으로 원격 추적 분기(즉, 원격 리포지토리에서 페치한 분기)를 로컬 분기와 병합합니다.

$ git merge REMOTE-NAME/BRANCH-NAME
# Merges updates made online with your local work

원격 리포지토리에서 변경 내용 끌어오기

git pull은 동일한 명령에서 git fetchgit merge 를 완료하기 위한 편리한 방법입니다.

$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work

pull은 검색된 변경 내용에 대한 병합을 수행하므로, pull 명령을 실행하기 전에 로컬 작업이 커밋되었는지 확인해야 합니다. 해결할 수 없는 병합 충돌이 발생하거나 병합을 종료하기로 결정한 경우, 분기를 끌어오기 전의 위치로 되돌리는 데 git merge --abort를 사용할 수 있습니다.

추가 참고 자료