【发布时间】:2014-05-13 17:05:37
【问题描述】:
我正在构建一个(有些受限的)Git 客户端。要设置存储库,请输入远程存储库的 URL。我想检查用户是否具有对该存储库的读+写访问权限。如果没有,我会显示一个身份验证对话框。
我用git ls-remote <url>检查'读取'访问权限。
是否有类似的方法来检查“写入”访问权限,而无需先克隆存储库? (我知道我可以git clone <url> 然后git push --dry-run)
【问题讨论】:
-
好吧,从技术上讲,将提交推送到存储库中,您不需要先克隆它。但是请记住,推送提交链和更新远程引用是两个不同的操作,您可能对前者有权限,但对后者没有权限。此外,某些引用可能是不可修改的。
-
'git push --dry-run' 在这篇文章中被提及作为一种检查写访问的方法,当你克隆时。但是对于我的一些遥控器,这会打开一个密码提示并无限期挂起。似乎没有一种非交互式的方式来检查您是否具有写访问权限,即使您确实有 repo 的克隆。如果我确实有它的克隆,我如何检查对 git 存储库的写访问权限?
-
一个非常简单的检查方法是您是否在 repo 的主代码页面上的 README.MD 的右上角看到一个编辑“铅笔”图标(如果有很长,请向下滚动到它顶级文件/文件夹列表)。显然,当您登录到 Github 时执行此操作。
标签: git github git-remote ls-remote