728x90
반응형
질문 : GitHub에서 분기 된 저장소를 업데이트하거나 동기화하려면 어떻게하나요?
프로젝트를 분기하고 몇 가지 수정 사항을 적용하고 수락 된 풀 요청을 생성했습니다. 며칠 후 다른 기여자가 변경했습니다. 그래서 내 포크에는 그 변화가 없습니다.
변경 사항을 포크로 가져 오려면 어떻게해야합니까? 기여할 추가 변경 사항이있을 때 내 포크를 삭제하고 다시 만들어야합니까? 아니면 업데이트 버튼이 있습니까?
답변
분기 된 저장소의 로컬 복제본에서 원본 GitHub 저장소를 "원격"으로 추가 할 수 있습니다. ( "Remotes"는 저장소 URL의 별명과 같습니다 origin
은 하나입니다.) 그런 다음 해당 업스트림 저장소에서 모든 분기를 가져오고 업스트림 버전에서 계속 작업하도록 작업을 리베이스 할 수 있습니다. 다음과 같은 명령 측면에서 :
# Add the remote, call it "upstream":
git remote add upstream https://github.com/whoever/whatever.git
# Fetch all the branches of that remote into remote-tracking branches
git fetch upstream
# Make sure that you're on your master branch:
git checkout master
# Rewrite your master branch so that any commits of yours that
# aren't already in upstream/master are replayed on top of that
# other branch:
git rebase upstream/master
마스터 브랜치의 히스토리를 다시 작성하지 않으려면 (예 : 다른 사람이 복제했을 수 있기 때문에) 마지막 명령을 git merge upstream/master
바꿔야합니다. 그러나 가능한 한 깔끔한 추가 풀 리퀘스트를 만들려면 리베이스하는 것이 좋습니다.
upstream/master
로 리베이스 한 경우 GitHub의 자체 분기 저장소로 푸시하기 위해 강제로 푸시해야 할 수 있습니다. 다음과 같이 할 수 있습니다.
git push -f origin master
리베이스 한 후 처음으로 -f
를 사용하면됩니다.
출처 : https://stackoverflow.com/questions/7244321/how-do-i-update-or-sync-a-forked-repository-on-github
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
현재 변경 사항으로 Git 분기 만들기 (0) | 2021.12.14 |
---|---|
git 히스토리에서 큰 커밋을 찾고 식별하는 방법 (0) | 2021.12.14 |
“git commit”과“git push”의 차이점 (0) | 2021.12.13 |
Git에서 로컬 작업 디렉토리를 지우는 방법 (0) | 2021.12.13 |
Git으로 GitHub에서 특정 분기 가져오기 (0) | 2021.12.12 |