refs/pull/xx/h-6ren">
gpt4 book ai didi

git push --mirror 给出 "failed to push some refs"

转载 作者:行者123 更新时间:2023-12-04 10:04:44 31 4
gpt4 key购买 nike

我正在尝试创建一个可以将我的 git 存储库镜像到另一个存储库的脚本。一切正常,但它一直在说

[remote rejected] refs/pull/xx/head -> refs/pull/xx/head (The current action can only be performed by the system.)

存储库被克隆到我电脑上的一个文件夹,然后推送到另一个 git。所有文件和历史记录都被克隆和推送,但这个“错误”不断出现。我能做什么?

enter image description here

这是我的脚本
git clone --mirror https://path1.com/_git/fredagsproject1
cd fredagsproject1.git
git remote set-url --push origin https://path2.com/_git/fredagsproject2
git push --mirror

最佳答案

当您运行 git push 时,您的 Git 通过互联网电话调用另一个 Git。你的 Git 将一些对象(提交等)交给他们的 Git,然后向他们的 Git 发送一堆请求:

  • 请设置 refs/heads/branch 指向提交 1234567...
  • 请设置 refs/tags/v1.2 指向带注释的标签对象 fedcba9...

  • 之类的。

    使用 git push --mirror 会告诉您的 Git 要求他们的 Git 设置您拥有的每个名称,并在请求中使用完全相同的名称。如图所示(并且您已复制到文本行),其中许多名称具有以下形式:
    refs/pull/xx/head

    对于一些两位数的 xx 序列。

    他们的 Git 只是说不:我拒绝设置那个名字。

    你可以尝试添加 --force ,它告诉你的 Git 发送一个命令——设置这些名称!——而不是一个礼貌的请求,请设置这些名称,但看看他们的 Git 与拒绝一起返回的原因:

    The current action can only be performed by the system.


    这似乎是在说:放开这个名字!我保留给 我的 使用,你怎么敢让我改变 我的 refs/pull/73/head !在这种情况下,命令表(与礼貌请求表相对)也可能被拒绝。

    请注意, refs/pull/number/headrefs/pull/number/merge 形式的引用名称由 GitHub 内部使用,用于管理 pull 请求。您甚至不应该尝试设置这些名称——因此,如果您的尝试失败,这可能是一件好事。

    关于git push --mirror 给出 "failed to push some refs",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46603239/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com