ドライランする方法はありますかgit Push
ユーザーが実際に新しいリモートブランチを作成する権限を持っているかどうかを知るには?実際に実行する前に完全な実行をドライ実行できるように、ユーザーが実際に作成される前に新しいブランチを作成しようとする多数のリポジトリの権限に関してすべてが適切であることを確認できるようにしたいと思います。
Shawn Pierce 書いたgit Push --dry-run
:
--dry-run
は、クライアントが使用するコマンドをクライアントからサーバーに送信しないので、サーバーは、それらを受け入れるかどうかをクライアントに通知できません。全体--dry-run
はクライアント側のみです。
(私の強調)
したがって、リモートへの書き込み権限があるかどうかを確認する方法がある場合は、git Push --dry-run
は間違いなくそうではありません。
自分のシナリオではうまくいかないと思った場所で、テストの回答として投稿しました。私はそれ以上の変更なしに別のブランチからブランチを作成しています
git clone ....
git checkout master
git branch -f test master
git Push --dry-run Origin test
そして、私はこのサーバー/レポのコンボに対してゼロのプッシュ権限を持っているにもかかわらず合格しました
To ssh://<server>/repo
* [new branch] test -> test
予行演習なしでプッシュすると、予想していたエラー状態になりました
git Push Origin test
Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done
To ssh://<server>/repo
! [remote rejected] test -> test (can not create new references)
error: failed to Push some refs to 'ssh://<server>/repo'