【问题标题】:Bitbucket: Why can't I create a master/x branchBitbucket:为什么我不能创建 master/x 分支
【发布时间】:2019-06-11 07:05:24
【问题描述】:

(这是在 SourceTree 中完成的)

我正在尝试创建一些分支(master/devmaster/demomaster/live),但这无法推送。例如,当我尝试将 master/demo 推送到 master/demo 时,它会给出以下错误:

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags --set-upstream origin master/demo:master/demo
fatal: HttpRequestException encountered.
   An error occurred while sending the request.

POST git-receive-pack (206 bytes)
remote: error: cannot lock ref 'refs/heads/master/demo': 'refs/heads/master' exists; cannot create 'refs/heads/master/demo'        
Pushing to https://x@bitbucket.org/x/x.git
To https://bitbucket.org/x/x.git
 ! [remote rejected] master/demo -> master/demo (failed to update ref)
error: failed to push some refs to 'https://x@bitbucket.org/x/x.git'



Completed with errors, see above.

【问题讨论】:

    标签: git bitbucket branch master


    【解决方案1】:

    在内部,分支作为文件存储在.git/refs/heads 文件夹中。如果分支名称包含目录分隔符,则会在 heads 中创建类似的目录。远程文件系统会阻止您在同一路径上拥有名为 master 的文件和名为 master 的文件夹,这就是您收到错误的原因。

    您需要使用 master 以外的其他名称作为分支的前缀。

    【讨论】:

    • 或者,等效地,删除名称 master 作为分支名称。值得指出的是:Git 并不总是将分支名称存储为目录中的文件。但它那样执行规则,因为它有时在从平面packed-refs文件转换为基于目录的方法。
    猜你喜欢
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    相关资源
    最近更新 更多