![](/img/trans.png)
[英]Are their names the same: a local-tracking branch, the corresponding remote-tracking branch, and the corresponding remote branch being tracked?
[英]Git: Local-tracking, add new branch?
我正在嘗試清理我的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>
我有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
我的代碼在origin / master和dev / dev下是最新的。
如果你有一個名稱包含斜杠的分支,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'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.