자식은 모든 변경 사항을 버리고 업스트림에서 가져옵니다.
업스트림 저장소를 가져 와서 마스터를 대체하려면 어떻게해야합니까? 나는 내 repo에 마스터 인 하나의 브랜치를 가지고 있으며 완전히 엉망이되어 기본적으로 업스트림에서 다시 시작해야합니다. 나는 init이 일을 할 것이라고 생각하지만 더 쉬운 방법이 있습니까?
여기서 할 수있는 최소한 두 가지가 있습니다. 원격 리포지토리를 복제하거나 reset --hard
공통 조상으로 가져간 다음 풀을 수행하면 원격 마스터의 최신 커밋으로 빨리 넘어갈 수 있습니다 .
구체적으로 말하면 Nevik Rehnel의 원래 답변을 간단히 확장 한 것입니다.
git reset --hard origin/master
git pull origin master
참고 : using git reset --hard
은 커밋되지 않은 변경 사항을 버리고 git을 처음 사용하는 경우이 명령과 혼동하기 쉬울 수 있으므로 진행하기 전에 수행 할 작업을 이해해야합니다.
지점 마스터에있는 동안 : git reset --hard origin/master
그런 다음 정리 git gc
하십시오 (맨 페이지에서 이에 대한 자세한 내용)
업데이트 : 당신은 또한 아마를 수행해야합니다 git fetch origin
(또는 git fetch origin master
당신이 경우 에만 해당 분기를 원하는); 재설정 전이나 후에이 작업을 수행해도 문제가되지 않습니다. (감사합니다 @ eric-walker)
단일 명령으로 수행 할 수 있습니다.
git fetch --all && git reset --hard origin/master
또는 한 쌍의 명령으로 :
git fetch --all
git reset --hard origin/master
보다 주 당신이 모든 로컬 변경을 잃게됩니다
git reset <hash> # you need to know the last good hash, so you can remove all your local commits
git fetch upstream
git checkout master
git merge upstream/master
git push origin master -f
짜잔, 이제 포크가 업스트림과 동일합니다.
참고 URL : https://stackoverflow.com/questions/13781388/git-discard-all-changes-and-pull-from-upstream
'Programing' 카테고리의 다른 글
Google App Engine에서 모든 데이터 스토어를 삭제하는 방법은 무엇입니까? (0) | 2020.07.11 |
---|---|
PHP에서 대문자 부울 대 소문자 (0) | 2020.07.11 |
문서가 준비 될 때까지 셀레늄 대기 (0) | 2020.07.11 |
데이터 구조 트리와 그래프의 차이점은 무엇입니까? (0) | 2020.07.10 |
CSV MIME 유형을 사용하는 방법은 무엇입니까? (0) | 2020.07.10 |