首页 > 解决方案 > 同步两个 git 存储库

问题描述

我有一个 git 存储库,我正在将更改推送到远程 X。现在,我创建了另一个 git 远程(不同的存储库),我也想将更改推送到它。理想情况下,我想保持两个同步。通过对其中一个进行更改并推动另一个。

我将新的遥控器添加到我的 git 中。我进行了提交并将所有更改推送到一个存储库(源)但是当我尝试推送更改时:

git push my-new-remote-origin my_current_branch:master

我收到此错误:

error: src refspec my_current_branch does not match any
error: failed to push some refs to <NEW_GIT_REPO_ADDRESS>

我的解决方案正确吗?为什么会失败(我应该指定要推送的提交吗?)

标签: git

解决方案


你应该使用--mirror. 这将同步您的新存储库。

不是命名要推送的每个 ref,而是指定将 refs/ 下的所有 refs(包括但不限于 refs/heads/、refs/remotes/ 和 refs/tags/)镜像到远程存储库。新创建的本地 refs 会被推送到远端,本地更新的 refs 会在远端强制更新,删除的 refs 会从远端移除。如果设置了配置选项 remote..mirror,这是默认设置。

使用以下命令:

git push --mirror my-new-remote-origin

在此处找到的文档。


推荐阅读