gpt4 book ai didi

git push --mirror 没有 pull refs

转载 作者:太空狗 更新时间:2023-10-29 14:25:56 26 4
gpt4 key购买 nike

我正在将一个 git 存储库迁移到另一个。为此,我对 clonepush 操作都使用了 --mirror 标志。

这有效,除了最后的失败导致我的 bash 脚本失败,这似乎与 pull 请求无关:


! [remote rejected] refs/pull/1/head -> refs/pull/1/head (当前 Action 只能由系统执行。)
! [remote rejected] refs/pull/1/merge -> refs/pull/1/merge (当前 Action 只能由系统执行。)
! [remote rejected] refs/pull/2/head -> refs/pull/2/head (当前 Action 只能由系统执行。)
! [remote rejected] refs/pull/3/head -> refs/pull/3/head (当前 Action 只能由系统执行。)

是否有必要迁移 pull 请求?

当我执行 git push --mirror 时如何省略 pull 请求?

我看过修改配置文件的引用资料,但如果可能的话,我更愿意在 CLI 中处理它。

最佳答案

使用 --mirror 指示 Git 复制所有 引用,就像通过 refspec +refs/*:refs/* 一样。 (使用 git clone 它也设置了一个 fetch 镜像:一个裸克隆,其默认 refspec 是相同的 +refs/*:refs/*,默认情况下启用修剪。)

如您所见,某些 Git 服务器甚至拒绝对某些引用进行强制更新。特别是,GitHub 为自己的目的保留了 refs/pull/ 命名空间。

Is it necessary to migrate pull requests?

据我所知,甚至不可能在 GitHub 上做到这一点(当然,GitHub 的人也许可以从他们那端做到这一点)。

How can I omit the pull requests when I do git push --mirror?

我认为最简单的方法是在 git clone --mirror 步骤之后删除它们:

git for-each-ref --format 'delete %(refname)' refs/pull | git update-ref --stdin

但你也可以显式推送你关心的引用,它们可能只是那些在 refs/heads/refs/tags/ 下的引用,也许是 refs/replace/ 和/或 refs/notes/

关于git push --mirror 没有 pull refs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776357/

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