2017-10-30 1 views
1

저는 git와 그 명령에 새로 왔습니다. 여기에 제 경우에는 클라이언트가 이미 지사를 만들고 같은 지사에서 일하도록 요청합니다. 그러면 다음 명령이 실행되었습니다. Git 브랜치 -r 브랜치 이름이 누락되었습니다.

[email protected]:~/repository/anp-air$ git checkout 0012.6_cmip_pga 
error: pathspec '0012.6_cmip_pga' did not match any file(s) known to git. 

은 그럼 내가 원격 지사 이름 0012.6_cmip_pga을 찾을 수없는 두 경우 모두 자식 지점 -a와 자식 지점 -r을 시도했다.

그럼 내가 가져 오기 명령 자식이 --all

자식이 시간을 -r

나열된 지정된 지점 이름을 가져 오기 가져 오기 시도했다. git branch -r이 먼저 지사 이름을 놓친 방법과 같은 의심의 여지가 있습니까? fetch 명령의 실제 용도는 무엇입니까? 도와주세요

+0

먼저 'git fetch origin'을 수행하십시오. – marekful

답변

0

Git의 모든 것은 로컬 저장소에서 로컬로 발생합니다. 저장소가 remote의 repo에 연결되어 때와 통신하는 데 사용하는 경우에만이 작업이 있습니다 원격 :

git fetch은 - 델타를 물어 모두가, 지점, 태그 및 무엇이든지 원격이가 있고 커밋에서을 실행하지 않고 로컬 저장소에서 로컬 참조를 업데이트합니다.

git push는 - 해당 지역의 지점, 당신이 에서 모든 커밋에서 델타를 전송하고 원격는을하지 않습니다.

사용자가 발행 한 git branch 명령이 로컬에서 해결되었으므로 (실제로는 리모컨과 대화하지 않습니다.) 원격 지점을 실제로 페치하지 않고 원격 지점을 나타내지 않았습니다.

+0

'git pull'은'git fetch' +'git merge'의 간략한 설명입니다. – everton

0

git fetch 명령으로 로컬 기록은 원격 기록 (지점, 커밋, 태그 등)으로 업데이트되지만 로컬 작업 트리와 병합되지는 않습니다.

따라서 git fetch -all 이후에는 git branch -r 또는 git checkout <branch-name>이 작동합니다.