2013-10-13 3 views
1

두 곳의 저장소가 있습니다. 하나는 원점이고 다른 팀에서 개발 한 응용 프로그램이 있으며 두 번째 저장소는 내 팀에 의해 작성된 로컬입니다. 현재는 비어 있습니다. 내가 달성하고자하는 어떤하나의 저장소에 두 개의 리모트

git remote add origin <origin url> 
git remote add local <local url> 

은 모든 원점의 repo의 특정 지점에서 커밋 다운로드 그것은 일부 변경을하고 모든 내 변경 원점에서 커밋 업로드 할 수있다 : 그래서 이것은 가장 쉬운 부분이다 만들기 로컬 저장소에 대한 새로운 커밋 - 원본 저장소에서 내역을 저장하고 변경 사항을 맨 위에 추가해야합니다. 나중에 원점을 가져오고 몇 가지 변경 사항을 다시 추가하고 싶습니다. 내 주요 문제는이 두 repos를 연결하는 것입니다. 어떤 아이디어 그것을 달성하는 방법?

Git을 Gerrit 개정판과 함께 사용합니다.

답변

3

<origin url>에 하나의 저장소가 있고 <local url>에 다른 저장소가 있습니다.

로컬 및 저장소가 두 개인 원격 저장소를 추가했습니다. ("local"보다 더 의미있는 이름을 사용하십시오.)

git fetch origin을 수행하여 모든 커밋을 가져올 수 있습니다. - 이제 git branch -r은 접두사가 모두 remotes/origin 인 접두사를 나열해야합니다.

이제 로컬 마스터 분기를 생성하는 지점 git checkout -b master origin/master을 체크 아웃 할 수 있습니다. 커밋을 한 후 리모컨 local에 모든 것을 푸시하면됩니다 (git push local master:master). 이렇게하면 로컬 마스터를 master라는 원격 브랜치로 푸시합니다.

상황에 따라 git branch -a은 로컬 브랜치 (프리픽스 없음)와 원격 브랜치 (originlocal)를 나열해야합니다.

리모컨에서 변경 사항을 가져 와서 커밋 한 다음 다른 리모컨으로 밀어 넣기 만하면됩니다.

0

Gerrit로만이 작업을 수행하려는 경우 Python 패키지 git-review https://pypi.python.org/pypi/git-review을 확인해야 할 수 있습니다. 나는 아직 시도하지는 않았지만 git에 commadns를 추가하여 git repo (기본 이름 'gerrit')로 보내는 원점으로 이동하는 대신 "git review"를 수행 할 수 있도록합니다.

michas 솔루션이 맞지만 멋지지 않으려는 경우. 그러나 그가 언급 한대로 로컬 repo의 이름을 'gerrit'로 바꿔서 그 목적이보다 분명해 지도록해야합니다.

관련 문제