2017-11-14 32 views
1

모든 로컬 브랜치를 모든 원격 브랜치로 대체하려면 어떻게합니까?모든 로컬 브랜치를 모든 원격 브랜치로 업데이트하십시오.

client-side-js-framework 
client-side-js-framework-2 
client-side-js-framework-3 
handlebars 
master 

그리고 내 원격 지사 :

client-side-js-framework 
handlebars 
master 
no-network-connection 

가 내 원격 가지가 더 최신 상태로 내 로컬 지점 내 원격 지점을 미러링 할 다음

내 로컬 지점이다. 즉, 내 로컬 지점은 다음과 같아야합니다

client-side-js-framework 
handlebars 
master 
no-network-connection 

이 하나 (또는 ​​2) 명령보다는 기본적으로 내 로컬 REPO 삭제와 함께 할 수 있고, 복제 다시?

답변

3

대부분의 경우, 당신은 실행해야합니다 다음

git fetch origin 

와 단순히 (대부분 또는 모두) 로컬 지점을을 삭제합니다. 당신이 실행할 때, 예를 들면 :

git checkout handlebars 

그것을 찾기 위해 실패, 해당 지역의 이름 handlebars 검색됩니다 망할 놈, 등등 origin/handlebarsupstream/handlebars과 같은 단 하나의 이름이 있는지 확인 좀 더 검색 (하나 각각의 가능한 원격).

만큼 있다 정확히 하나의 이름, 힘내 다음 말할 것이다 : 아하, 내가 같은 원격 추적 이름 origin/handlebars을 투입하여 로컬 이름 handlebars을 만들어야합니다. 그 순간에 handlebars이라는 로컬 브랜치가 origin/handlebars과 일치하면 Git이 체크 아웃 할 것이므로 작업 준비가 완료됩니다. a set of balls-and-chains과 같이 주위에 일하지 않는 현지인 6 명을 드래그 할 필요가 없습니다.

실제로 각 분기를 업데이트해야하는 경우 분기가 완료 될 때마다 분기마다 하나의 업데이트 명령을 사용하여 적절한 병합 및 푸시를 수행해야합니다 (단, 이 경우 :

git fetch origin 'refs/heads/*:refs/heads/*' 

이 작동 -하지만 것 (볼과 체인 링크 참조)하지 않습니다. 당신이이 같은 이름을 사용하는 여러 개의 리모컨을 할 경우

는 (은 조금 복잡합니다.이 경우, git checkout --track origin/handlebars 원하는 결과를 얻을 것입니다. 한편 그것은 또한 까다로운하고, 현명, git fetch 지역 이름을 삭제할 수 있도록 그러나 나는 그것이 --prune으로 할 수 있다고 생각합니다.)

+0

가 [빈정]라는 이름의 "공 - 및 - 체인 세트"의

1. git checkout client-side-js-framework 2. git pull 

입니다. 나는 그것이 이미지라는 것을 깨닫지 못했다. 잘 했어. 로컬 Repo를 삭제하고 복제했습니다.하지만 답변을 좋아하고 다음에 대신이 작업을 수행하려고합니다. – Farid

1

기본적으로 git fetch origin은 로컬 브랜치를 업데이트하고 로컬 브랜치에 추가 브랜치를 추가합니다.이 브랜치는 원격에서 사용할 수 있습니다.

대체 솔루션은 모든 :) 내가 실제로 그 문서에 대한 링크라고 생각