someone/foobar
GitHub에 저장소가 있다고 가정 해 보겠습니다 me/foobar
.
부모 저장소에서 새 커밋 을 포크로 직접 가져 오는 방법 하지 않고, 별도의 리모컨을 추가 하고 거기에서 정기적으로 끌어 기억 ?
목표는 다음과 같습니다.
git pull
부모 저장소에서 가져 오기git push
내 포크에 모든 것을 보내기 위해
someone/foobar
GitHub에 저장소가 있다고 가정 해 보겠습니다 me/foobar
.
부모 저장소에서 새 커밋 을 포크로 직접 가져 오는 방법 하지 않고, 별도의 리모컨을 추가 하고 거기에서 정기적으로 끌어 기억 ?
목표는 다음과 같습니다.
git pull
부모 저장소에서 가져 오기git push
내 포크에 모든 것을 보내기 위해답변:
분기 된 Git 리포지토리 me / foobar를 엽니 다 .
비교를 클릭 하십시오 .
당신은 알림을 받게됩니다 :
비교할 것이 없습니다.
someone : master 는 me : master의 모든 커밋을 최신 상태로 유지합니다 . 비교를 위해 베이스 를 전환 해보 십시오.
이 페이지 에서베이스 전환을 클릭 하십시오.
그런 다음 누군가 / foobar 에 대한 모든 커밋을 보게됩니다. 분기 한 후 수 있습니다.
풀 요청 생성을 클릭하십시오 .
풀 요청에 제목과 설명을 제공하고 풀 요청 생성을 클릭 하십시오. .
다음 페이지에서 페이지 맨 아래로 스크롤하여 병합 요청 병합 및 병합 확인을 클릭하십시오. .
Git 리포지토리 me / foobar 가 업데이트됩니다.
편집 : rebase 옵션이 여기에 표시됩니다 :
Edit
버튼을 수동으로 전환 base fork
에 me/foobar
와 head fork
에 someone/foobar
. 이런 식으로 그것은 매우 분명하다
git remote set-url origin git@github.com:someone/foobar
git remote set-url origin --push git@github.com:me/foobar
한 가지주의
사항이 있습니다. 포크를 변경하는 유일한 사람이라면 완벽합니다.
그러나 다른 사람과 공유하는 경우 포크에서 당겨야 할 수도 있습니다.이 경우 별도의 리모콘 이 유일한 솔루션입니다.
편집 :
실제로, 당신 은 git pull git@github.com:me/foobar
주의를 제거 할 수 있습니다 .
기억하기 쉬운 선택이 당신의 것입니다.
나는 GitHub 웹 UI 를 사용하여 상당히 간단한 방법을 사용 했습니다.
me/foobar
아님)를 엽니 다."풀"응용 프로그램 자동 솔루션을 셋업이 앤 잊지이다. 포크의 기본 브랜치를 업스트림 저장소와 동기화합니다.
URL을 방문하여 녹색 "설치"단추를 클릭 한 후 자동 동기화를 사용하려는 저장소를 선택하십시오.
지점은 GitHub에서 시간당 한 번 직접 업데이트되며, 로컬 머신에서는 로컬 사본이 동기화되도록 마스터 브랜치를 당겨야합니다.
https://stackoverflow.com/a/58965171/946850 에서 답변했습니다 .
다른 리모컨을 추가하지 않고 어떻게 할 수 있는지 모르겠지만 항상 갈 수있는 리포지를 리모컨으로 추가하여 upstream
간단하게 수행 할 수 있습니다.
git branch -a|grep remotes/upstream| while IFS="/" read p r b; do echo Syncing $r/$b to origin/$b; git push origin $r/$b:refs/heads/$b; done
이것은 모든 분기를 포함하여 모든 분기를 동기화합니다. 새 refs/heads/
분기 만들기 ( 기존 분기 만 업데이트하려면 제거 ). 분기가 분기 된 경우 해당 분기에 오류가 발생합니다.