1

我有两个存储库 - 一个是原始存储库,其中包含由其他团队开发的应用程序,第二个存储库是本地的,由我为我的团队创建的 - 目前它是空的。所以创建这是最简单的部分:

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

我想要实现的是能够从原始存储库中的特定分支下载所有提交,对其进行一些更改并上传所有原始提交并将我的更改作为新提交到本地存储库 - 我需要从原始存储库保存历史记录并在顶部添加我的更改。当然稍后我想获取原点并再次添加一些更改等等。我的主要问题是连接这两个存储库。任何想法如何实现它?

我将 Git 与 Gerrit 修订版一起使用。

4

2 回答 2

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. 这也会将你的本地 master 推送到一个名为 master 的远程分支。

在您的情况下git branch -a,应该列出本地分支(不带前缀)和远程分支originlocal.

只需从一个远程获取更改并进行提交并将其推送到另一个远程。

于 2013-10-13T12:47:33.937 回答
0

因此,如果您只打算使用 Gerrit 执行此操作,您可能需要查看 Python 包 git-review https://pypi.python.org/pypi/git-review。我还没有尝试过,但是它向 git 添加了命令,这样当您执行“git review”而不是推送到源时,您可以发送到 gerrit 存储库(默认名称“gerrit”)。

如果您不想花哨,尽管 michas 解决方案是正确的。然而,正如他所提到的,你应该将你的本地仓库重命名为“gerrit”,这样它的目的就更明显了。

于 2013-10-14T08:11:24.747 回答