31

Team Foundation Service で git を使用しており、次のコマンドを実行してリモート ブランチを削除する方法を見つけようとしています。

git push origin --delete TheBranchName

リモートサーバーは次のエラーで拒否し続けます

 ! [remote rejected] TheBranchName (TF401026: The ForcePush permission is required to perform this action.) error: failed to push some refs to 'https://xxx.visualstudio.com/DefaultCollection/_git/Xxxxxx'

TFSでユーザーに正しい権限を設定する方法はありますか?

4

7 に答える 7

8

リモートブランチを削除するには、次を使用できます。

git push origin :TheBranchName
于 2013-05-30T14:37:06.330 に答える
3

git pushマンページから:

-f
--force
    Usually, the command refuses to update a remote ref that is not an ancestor of the
    local ref used to overwrite it. This flag disables the check. This can cause the
    remote repository to lose commits; use it with care.

削除しようとしているブランチは、現在のブランチの祖先ではないようです。この--force引数を追加して、役立つかどうかを確認してください。

于 2013-03-06T22:32:44.503 に答える
3

Ursegorの回答を編集したいのですが、そうする評判がありません。

バージョン 14.102.25423.0 (Team Foundation Server 2015 Update 3) では、次のリポジトリのセキュリティ/アクセス許可オプションにアクセスできます。

  1. Code/Explorer
  2. エクスプローラーからリポジトリを選択
  3. ...リポジトリ名の横にある 3 つのドットをクリックします。
  4. 選択するSecurity
于 2016-09-19T07:39:10.197 に答える
2

最初の回答とこのリンクの最初のコメントで、あなたの質問に答えます:

「誰かが削除を禁止しているリモートリポジトリでフックを有効にしました - これは通常、誰かがリベースされたブランチをリポジトリにプッシュできないようにするために行われます. (私はgitリポジトリのかなり大きなコレクションを維持しており、それらはすべて構成されていますこのように、ただしフックではありません。)

リモート リポジトリの hooks/ ディレクトリを調べます。「update」という名前のスクリプトがあります。これがブランチの削除を拒否しているものです。」

于 2013-11-26T16:54:04.047 に答える
1

VSO でブランチを削除する方法を探して、この質問にたどり着きました。ここにたどり着いた他の人にとっては、少し面倒ですが機能するプロセスがあります。ブランチからプル リクエストを作成します。プル リクエストが作成されたら、破棄します。リクエストを放棄すると、ソース ブランチの削除ボタンが表示されます。それをクリックしてブランチを削除します。

于 2016-02-23T15:59:13.467 に答える