使用Access Token克隆Git仓库后,多用户Pull失败求助
解决Windows下多用户共享Git仓库pull权限问题
问题根源
用户A克隆仓库时,Windows NTFS文件系统默认将.git目录及下属文件的权限仅开放给用户A,用户B因权限不足无法读取/写入.git/FETCH_HEAD文件,导致pull报错。
解决步骤
1. 调整仓库目录的NTFS权限
- 右键点击仓库根文件夹,选择「属性」→ 切换到「安全」标签页
- 点击「编辑」→ 「添加」,输入用户B的用户名,点击「检查名称」确认后点击「确定」
- 在权限列表中找到用户B,勾选「完全控制」(或至少勾选「读取」和「写入」权限),然后点击「高级」
- 确保权限设置应用到「该文件夹、子文件夹及文件」,点击「应用」→「确定」保存所有设置
2. 配置用户B的Git凭证(可选,避免后续凭证验证失败)
因为Access Token是仓库访问凭证,用户B需要单独配置:
- 方式一:通过Windows凭据管理器添加
打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」,点击「添加普通凭据」:- 「Internet地址或网络地址」填写仓库的服务器地址(比如
http://your-repo-server.com) - 「用户名」填
oauth2,「密码」填你的Access Token
- 「Internet地址或网络地址」填写仓库的服务器地址(比如
- 方式二:在仓库内配置Git凭证助手
切换到用户B账户,进入仓库目录,执行以下命令:
首次执行git config credential.helper wincred git config user.name "用户B的Git用户名" git config user.email "用户B的Git邮箱"git pull时会弹出凭证输入框,输入oauth2和Access Token即可,系统会自动保存到用户B的凭据管理器中
3. 验证操作
切换到用户B账户,进入仓库目录执行git pull,确认命令执行成功,无权限报错。
额外注意
如果仓库位于共享文件夹,还需要检查共享权限是否给用户B开放了「读取/写入」权限,否则NTFS权限设置可能无法生效。
内容的提问来源于stack exchange,提问作者jayesh gehlot
相关产品推荐
相关产品推荐

