Dav*_*vid 12 git user-permissions
有没有办法干运行git push
以了解用户是否有权实际创建新的远程分支?我希望能够验证一堆repos的权限,其中用户将在实际创建之前尝试创建新分支,以便在实际执行之前我可以干完全执行.
jub*_*0bs 14
肖恩皮尔斯写 了以下关于git push --dry-run
:
A
--dry-run
不会发送客户端从客户端到服务器使用的命令,因此服务器无法告诉客户端是否接受它们.整个--dry-run
事情只是客户端.
(我的重点)
所以,如果有办法检查一个人是否具有对远程的写权限,git push --dry-run
绝对不是它.
作为我所做的测试的答案,我认为它在我的场景中不起作用。我正在从另一个分支创建一个分支,无需进一步更改
git clone ....
git checkout master
git branch -f test master
git push --dry-run origin test
Run Code Online (Sandbox Code Playgroud)
即使我在此服务器/存储库组合上的推送权限为零,它也通过了
To ssh://<server>/repo
* [new branch] test -> test
Run Code Online (Sandbox Code Playgroud)
在没有空运行的情况下推动会出现我预期的错误情况
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'
Run Code Online (Sandbox Code Playgroud)