如何通过命令行从私有Bitbucket仓库下载单个原始文件?
解决Bitbucket私有仓库单个文件下载的curl认证问题
正确的curl命令格式
要通过curl用App Password下载私有仓库的单个文件,不能直接用浏览器里的raw页面URL,得用Bitbucket的API端点,同时确保App Password有仓库读取权限,命令格式如下:
curl -u "你的用户名:你的App Password" "https://api.bitbucket.org/2.0/repositories/你的用户名/仓库名/src/提交哈希/文件路径"
核心注意点
- App Password权限必须到位:创建App Password时,一定要勾选「Repositories > Read」权限,没有这个权限哪怕git clone能成功,curl也会认证失败。
- 路径要对应API格式:API路径结构固定为
/2.0/repositories/{用户名}/{仓库名}/src/{commit_sha}/{文件路径},别用浏览器里bitbucket.org/xxx/raw/xxx那种前端页面路径,它不支持App Password的API认证逻辑。
验证步骤
- 打开Bitbucket个人设置的App Password页面,确认你用的那个密码已经勾选了仓库读取权限;
- 把命令里的用户名、仓库名、提交哈希、文件路径替换成你自己的实际信息;
- 执行curl命令,就能正常获取文件内容了。
原命令失败的原因
浏览器里的raw URL是面向前端页面的,靠你登录后的cookie会话认证,而App Password是给Bitbucket API用的认证方式,两者不兼容。git clone能成功是因为git和Bitbucket交互时自动适配了API认证流程,所以能识别App Password。
内容的提问来源于stack exchange,提问作者Dave Ceddia
相关产品推荐
相关产品推荐

