2013-10-13 34 views
1

我有两个存储库 - 一个是原产地,另一个是由其他团队开发的应用程序,第二个是由我为我的团队创建的本地应用程序 - 目前它是空的。因此,创建这是最容易的部分:在一个存储库中有两个遥控器

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

什么,我想实现的是能够下载所有从起源回购的具体分支提交,做了一些更改,并上传所有从原产与我的变更提交作为本地回购的新提交 - 我需要从原始回购保存历史记录并在顶部添加我的更改。当然后来我想取回原点并再次添加一些更改等等。我的主要问题是连接这两个回购。任何想法如何实现它?

我使用Git和Gerrit修订版。

回答

3

您有一个仓库<origin url>和另一个仓库<local url>

您有一个本地存储库,您在其中添加了两个远程,起源和本地。 (也许使用比“本地”更有意义的名称)。

通过执行git fetch origin可以从原始获取所有提交。 - 现在git branch -r应列出所有以remotes/origin为前缀的分支。

现在您可以签出创建本地主分支的分支git checkout -b master origin/master。您可以进行提交,然后将所有内容推送至您的local遥控器:git push local master:master。这会将您的本地主人推送到名为主人的远程分支。

在你的情况下,git branch -a应该列出当地分行(无前缀)和远程分行originlocal

只需从一个远程获取更改,然后将其推送到另一个远程。

0

所以,如果你只是要用Gerrit来做这件事,你可能想看看Python包git-review https://pypi.python.org/pypi/git-review。我还没有尝试过,但它增加了commadns git,以便当你做“git review”而不是推到原点时,发送到gerrit repo(默认名称'gerrit')。

如果您不想通过michas解决方案获得幻想。但是,正如他所提到的,你可能会将你的本地回购重命名为'gerrit',因此其目的更为明显。

相关问题