나는 git에 익숙하지 않고 포크, 기원, 업스트림 및 브랜치 (branch)가 어떻게 작동하는지에 대한 전반적인 처리를 시도하고있다.손상된 로컬 git repo 지점을 복구하고 내 Github 포크를 리베이스하는 방법은 무엇입니까?
Github에서 포크를 생성하고 포크의 로컬 사본을 작성하고, 업스트림 및 원점 브랜치를 식별하여 'newbranch'를 작성했습니다. 내 로컬 'newbranch'에서 개발을 수행하고 Github의 포크로 푸시 한 다음 업스트림 저장소로 다시 끌어 오기 요청을 작성했습니다. 그런 다음 Github에서 포크에서 직접 변경했습니다. 나중에 Github에서 업데이트하지 않고 로컬 복사본을 변경했습니다. 나는 Github 분기점에서 'newbranch'에서 합병하여 이것을 해결했습니다.
지금까지 그렇게 좋았습니다. 그러나 지금은 업스트림 저장소에서 내 지사를 업데이트하려고 시도하면서 문제가 발생했습니다. 이 충돌의 수천 결과
git fetch upstream
git checkout master
git merge upstream/master
:
내 'newbranch'으로 변경을 커밋과 포크로 누른 후, 나는 다음과 같은했다. 병합을 취소하기 위해 리셋했지만 브랜치에 수천 개의 수정 된 파일이 남아 있었기 때문에이를 정리하는 방법을 알 수 없습니다.
업스트림 저장소의 'devel'지점에서 'newbranch'를 생성했습니다. 내가 왜 '마스터'지점을 망쳐 놨는지 궁금하면 두 사람이 그렇게됩니다.
내 Github 분기점은 내 'devel'분기가 업스트림 저장소 뒤에 40,000 커밋 있다고 말합니다. 로컬 Repo를 정리하고 업스트림 저장소에서 로컬 'devel'및 'newbranch'분기를 업데이트하고 이러한 변경 사항을 내 Github 포크에 동기화하고 싶습니다.
이 혼란에서 벗어날 수있는 도움을 주시면 감사하겠습니다.
이것이 실제로 유일한 방법입니까? 분기 된 저장소가 손상되지 않았으며 업스트림 저장소로 끌어 오기 요청을 제출했습니다. 하지만 내 로컬 저장소의 '마스터'지점이 손상된 것 같습니다. 로컬 저장소를 덤프하고 Github에서 다시로드하는 것이 내 '신품점'을 포함해야하므로 완전히 행복합니다. 그게 효과가 있니?그러면 업스트림에서 내 로컬 저장소를 업데이트하고 해당 업데이트를 Github 포크로 푸시하는 단계는 무엇입니까? – sthames42
그것이 유일한 방법은 아니지만 나는 완전히 혼란 스러울 때 간단하다고 느낍니다. – Peddipaga
응답 해 주셔서 감사합니다. 나는 당신의 솔루션을 이해하는 데 어려움을 겪었다고 생각하지만, 만약 내가 가진다면 그것이 더 쉬울 것이라고 생각합니다. 나의 지역의 repo를 재건하는 것을 끝내었다. 좋아. – sthames42