gpt4 book ai didi

git push : refs/heads/my/subbranch exists, 无法创建

转载 作者:行者123 更新时间:2023-11-30 04:54:26 26 4
gpt4 key购买 nike

这不可能在服务器上的 repo 中创建 somme 子子文件夹吗?

如果我这样做:

git push origin dev/master 

一切正常

但如果我这样做

git push origin dev/sub/master

我明白了:

error: 'refs/heads/dev/sub' exists; cannot create 'refs/heads/dev/sub/master'

我用 git branch -r 检查并直接用 ssh,没有创建 dev/sub 文件夹。

怎么了?

最佳答案

它不是一个存在的文件夹,它是一个分支。 (好吧,某处可能涉及文件夹/目录,也可能不涉及,因为引用被“打包”并不再作为目录中的文件存在。)

  • 如果分支 b 存在,则不能创建名为 b/anything 的分支。
  • 同样,如果分支dev/b存在,则无法创建dev/b/c

这是一个 git 内部限制。在这种特殊情况下,远程 origin 有一个名为 dev/sub 的分支(不管你有没有,重要的是远程有没有)。为了在 origin 上创建一个名为 dev/sub/master 的分支,您必须首先删除名为 dev/sub 的分支 来源:

git push origin :dev/sub

(当然,删除这个分支可能会删除那边的一些重要的东西,所以要确保你知道你在做什么。一般来说,你可能想先git fetch origin,捕获他们的 dev/sub 作为你的 origin/dev/sub。然后你可以创建一个名为 dev/renamed-sub 的本地分支指向同一个提交,创建 dev/renamed-sub 在远程,删除远程 dev/sub,然后在远程创建 dev/sub/master。)


如果您可以登录远程(origin 所在的系统),您可以进入那里的存储库并简单地重命名本地 dev/sub 分支机构。 (根据下面的评论,我怀疑那里也有一个损坏的自动部署脚本,可能应该修复它以仅部署“可部署”分支,而不是所有被推送的分支。但我只是在这里猜测。)

关于git push : refs/heads/my/subbranch exists, 无法创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59484052/

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