我開始使用(被迫使用)Gerrit,當我的項目已經在進行中時,我使用git push orgin -all
將「一切」推送到Gerrit。前一段時間,我發現我也推了一些額外的分支,開始與格里特打之前合併到主站和本地已刪除:在Gerrit中刪除的分支,它仍然存在,在它的Git回購中
$ git branch --all
* master
remotes/oberon/master
remotes/origin/96-fix-key-editors-references
remotes/origin/master
我試圖刪除遠程分支,the ususal way(git push origin :remotes/origin/96-fix-key-editors-references
),但我被Gerrit拒絕,聲稱我沒有Push
特權Force Push
選項,這是完成此任務所必需的。因此,我在Gerrit的網絡用戶界面中訪問Project > Branches
,標記該分支,並能夠刪除它,推Delete
按鈕(有趣的是:我可以在UI中做什麼,我通過SSH禁止什麼?)。
我以爲案例結束了,直到我再次執行git branch --all
,只是發現,Git仍然將分支remotes/origin/96-fix-key-editors-references
報告爲現存(結果與上面完全一樣)。
我再次使用git push origin :remotes/origin/96-fix-key-editors-references
,只是爲了滿足我的好奇心,現在會發生什麼,並且我收到了錯誤消息error: unable to delete '96-fix-key-editors-references': remote ref does not exist
。
於是,兩個問題,但實際上一個:
格里特如何從網絡界面中刪除分支,從Git的回購的同時不刪除呢?
遠程分支如何在列表中列出並且可以在同一時間內被取消刪除(不存在)?
我是新來的Git,甚至更新的Gerrit,我可能會失去一些比較流行的東西。對不起!
聽起來很合理! :]謝謝... – trejder