2016-09-20 5 views
0

나는 git의 초보자이며, 현재 git을 이해하기 위해 다양한 조합을 시도하고있다.Git Fetch/Pull confuch

저는 'dev'라는 이름의 저장소가 있습니다. 이제는 처음에 리모컨과 동기화 된 로컬을 가져 왔습니다. 그런 다음 리모컨을 Github에서 직접 변경했습니다. 내가

git fetch origin dev:dev 

를 사용하는 경우 지금

그때 내가

fatal: Refusing to fetch into current branch refs/heads/dev of non-bare repository 

그러나 오류가 발생, 다음 풀 명령은 유래 중 하나에서

git pull origin dev 

잘 작동하는 것은 그것이 대답 fetch와 merge가 뒤 따르는 것은 git pull과 동일하다는 것을 언급했다.

그렇다면 왜 그런 불일치입니까?

질문 링크 : understanding git fetch then merge

PS : 대답은 코멘트 아래 링크에서 제안이 정확 하나입니다. 그러나 나는 그걸 궁금해했다

git fetch origin 

현재 분기를 포함한 모든 지점에서 가져옵니다. 그럼 왜 내가이 검증 뒤에 이유를 이해할 수 없습니다입니다 만

git fetch origin master:master 

의 경우에는 검사를 수행합니다. 도움을 주시면 감사하겠습니다.

감사

+0

사실'pull'은'fetch' +'merge'의 지름길입니다. 그러나'dev : dev' 인자는 거기에 큰 차이가 있습니다. 제발,이 답변을보십시오 : http://stackoverflow.com/a/32561463/2104879 – mertyildiran

+0

안녕 Mertyildiran, 도와 줘서 고마워. 당신이 제안한 대답이 정확한 것입니다. –

답변

0

치명적인 : 비 베어 저장소의 현재 지점의 심판/헤드/dev에로 가져 거부하는 것은

이 오류는 일반적으로 당신은 '아무튼 지점을 가져 오는하고 있음을 의미 원격 지점이 있습니다. 여기서 가정하고있는 점은 origin 레포에서 가져 와서 dev의 최신 변경 사항을 로컬 지사에 병합하려는 것입니다. 이 경우 다음을 시도해보십시오.

git fetch origin 
git merge origin/dev