我正在尝试清理我的git存储库
从命令行,您可以看到我的环境.
$ git remote
dev
origin
production
staging
$ git branch -r
dev/dev
origin/HEAD -> origin/master
origin/dev
origin/master
production/master
wpengine-findcra/master
$ git branch -vv
dev xxxxxxx <comment>
*master xxxxxxx [origin/master] <comment>
production/staging xxxxxxx [remotes/production/master] <comment>
staging/master xxxxxxx <comment>
Run Code Online (Sandbox Code Playgroud)
我有4个工作地点.代码从1流到4.
我想专门为登台服务器添加一个新分支,现在我想让它镜像生产(主)分支.但我遇到这个错误,我不知道该怎么做.
$ git checkout master
$ git branch staging
error: there are still refs under 'refs/heads/staging'
fatal: Failed to lock ref for update: Is a directory
Run Code Online (Sandbox Code Playgroud)
我的代码在origin/master和dev/dev下是最新的.
luc*_*ash 12
如果你有一个名称包含斜杠的分支,git将创建(在.git/refs/heads)一个名为你的分支名称的目录,直到斜杠.在该目录中,它将为分支本身放置refs.因此,目录.git/refs/heads/staging/存在并包含由于您的分支而导致的文件"master" staging/master.
当您尝试创建分支"staging"时,git将尝试创建该文件.git/refs/heads/staging.由于这已经存在但是是一个目录,这将失败.因此,您的存储库中不能有两个具有这些名称的分支.
在更新版本的git中,错误消息将如下所示:
fatal: cannot lock ref 'refs/heads/staging': 'refs/heads/staging/master' exists; cannot create 'refs/heads/staging'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2420 次 |
| 最近记录: |