GitHub 리포지토리의 변경 사항으로 로컬 리포지토리 업데이트


567

GitHub에서 로컬로 프로젝트를 확인했으며 그 이후 원격 저장소에서 변경되었습니다. 최신 변경 사항으로 로컬 사본을 업데이트하는 올바른 명령은 무엇입니까?


26
github이 git 및 github 사용에 대한 매우 유익하고 유용한 안내서 세트를 생성했음을 주목할 가치가 있습니다. 내가 처음으로 git으로 옮길 때 그것들이 귀중하다는 것을 알았습니다. help.github.com
— Mark Embling

답변:


791

아마:

git pull origin master

28
"원격 '원점'에서 가져 오기를 요청했지만 분기를 지정하지 않았습니다. 현재 분기에 대해 구성된 기본 원격이 아니기 때문에 명령 줄에 분기를 지정해야합니다." 그래서 "$ git pull origin master"를 시도했지만 정상적으로 작동했습니다.
— Juan Lanus

8
git pull origin master
— Andrzej Rehmann

1
일부 파일을 삭제했는데 다시 가져 오지 않습니다. 어떤 생각입니까?
— 물병 자리 힘

1
이것을 실행하기 전에 git commit을 수행합니까? 이 명령을 실행할 때마다 18347213846 수정 한 파일로 끝납니다.
— Orkun Ozen

5
방금 새 원격 저장소 분기를 가져 와도 해당 이름의 분기가 로컬로 생성되지 않고 로컬 분기가 체크 아웃 될 때마다 해당 원격 분기를 가져 오는 어려운 방법을 배웠습니다. 저장소를 삭제하고 다시 복제하는 짧은 방법을 실행 취소하는 방법을 잘 모르겠습니다. 어쨌든 로컬 브랜치는 원격 브랜치와 무관 한 것으로 보이며 당기기 전에 항상 로컬 브랜치에 있는지 확인해야합니다.
— Joe Lapp

87

이것은 모든 기본 저장소에 대해 작동해야합니다.

git pull origin master

기본 분기가과 다른 경우 master분기 이름을 지정해야합니다.

git pull origin my_default_branch_name

2
실제로는 아닙니다. 치명적인 : 원격 심판 마스터 찾을 수 없습니다
— 빅터 Eijkhout

1
귀하의 repo 경우 probablt @Eijkhout 더 마스터 지점이없는, 그리고 몇몇 다른 지점은 기본적으로 설정되어 있습니다
— 의 Andrzej Rehmann을

62
git fetch [remotename]

그러나 변경 사항을 로컬 지점에 병합해야합니다. Github에서 원격 지점을 추적하는 지점에 있다면

git pull

먼저 가져 오기를 수행 한 다음 추적 된 분기에서 병합합니다.


5
이 git fetch방법을 사용하는 경우을 사용하여 태그를 가져와야합니다 git fetch -t. 변경 사항 ( git log HEAD..FETCH_HEAD)에 만족하면을 (를 ) 병합 할 수 있습니다 git merge FETCH_HEAD.
— 브래드 그리섬

16

이 질문은 매우 일반적이며 약간 단순화하기 위해 가정 할 몇 가지 가정이 있습니다. master지점 을 업데이트한다고 가정합니다 .

로컬에서 변경하지 않은 경우 git pull새 커밋을 중단하고에 추가 할 수 있습니다 master.

git pull origin master

변경하고 새 병합 커밋을 추가하지 않으려면을 사용하십시오 git pull --rebase.

git pull --rebase origin master

git pull --rebase 변경하지 않은 경우에도 작동하며 아마도 최고의 통화 일 것입니다.


1
rebase 및 rebase의 위험 : atlassian.com/git/tutorials/rewriting-history/git-rebase . "리베이스의 위험성 이해"의 단락 2와 3은 실제로 SVN의 명령 세트를 놓치게합니다.
— WillC

9

이미 설정된 원산지 마스터를 사용하면 아래 명령을 사용해야합니다.

git pull "https://github.com/yourUserName/yourRepo.git"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.