Quantcast
Channel: Developers Pit »高橋 良輔
Viewing all articles
Browse latest Browse all 10

[Git]リモートブランチを削除できない「deletion prohibited」の場合の対処方法

$
0
0

ちょっとハマったのでシェアさせてもらいます。 Gitでリモートのブランチを削除しようとしたのですが下記のようなエラーがでてしまい、削除できない場合があります。


リモートリポジトリ削除でdeletion prohibitedのエラー


git push --delete origin develop
remote: error: denying ref deletion for refs/heads/develop
To https://itpit.net/git/stampandroid
 ! [remote rejected] develop (deletion prohibited)

! [remote rejected] develop (deletion prohibited)というように削除が禁止されているエラーが発生した場合にはGitリポジトリの設定が削除を禁止する設定になっている可能性が高いです。


対処方法


リモートのサーバにsshなどでログインしGitのリポジトリのところに移動してconfigファイルを確認してみましょう。


cd /path/to/git-repo
vi config

denyNonFastforwards = trueの場合には過去のコミットに戻る事ができず、 denyDeletes = trueの場合だとブランチを削除する事ができない設定という事です。 なのでそれぞれをfalseにしてください。


[core]
        repositoryformatversion = 0
        filemode = true
        bare = true
        quotepath = false
[hooks]
        allowunannotated = true
        allowdeletebranch = true
[receive]
        denyNonFastforwards = false
        denyDeletes = false

これで下記のGitコマンドがエラーが出ずに処理できると思います。


git push --delete origin develop

リモートのブランチのコミット戻しもできると思います。


git push --force origin HEAD^:develop

何か指摘点があればコメントください!


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images