【问题标题】:Sync two git repositories [duplicate]同步两个 git 存储库 [重复]
【发布时间】:2020-12-06 14:44:09
【问题描述】:

我有一个 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


【解决方案1】:

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

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

使用以下命令:

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

找到文档here

【讨论】:

  • 有没有办法限制它只同步我当前的分支?
  • 我找不到限制它的方法。但是如果我要从本地删除所有旧的 refs 并触发命令呢?它会工作吗
  • 它不会触发命令,你仍然需要使用git push --mirror
  • 是的,我指的是在运行 --mirror 命令之前需要触发这些步骤
  • 是的,如果您使用git push --mirror origin,它将使用您推送到的来源镜像您的本地仓库。
猜你喜欢
  • 1970-01-01
  • 2011-06-19
  • 2014-08-18
  • 2021-11-03
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-28
相关资源
最近更新 更多