我找不到关于如何以新的位桶格式访问旧提交的源代码的文档。这还有可能吗?
当前回答
我试图弄清楚是否有可能像你在GitHub上一样浏览之前提交的代码,它把我带到了这里。我使用了我在这里找到的信息,在摆弄了url之后,我实际上也找到了一种浏览旧提交代码的方法。
当你浏览你的代码时,URL是这样的:
https://bitbucket.org/user/repo/src/
通过在最后添加一个commit散列,就像这样:
https://bitbucket.org/user/repo/src/a0328cb
您可以在提交时浏览代码。我不明白为什么没有直接选择提交的下拉框,这个功能已经存在了。奇怪。
其他回答
在我的情况下,Atlassian Bitbucket v6.10
https://<bitbucket.myserver.it>/projects/<myproject>/repos/<myrepo>/browse?at=<full-commit-hash>
你可以在你的比特桶网站上查看
正如Atlassian社区网站上解释的那样,进入Source页面(可从左侧菜单中获得),并在url的at=查询参数中输入你的提交id就足够了。例如,url将以?at=bacf2ad3095结尾。
搜索了很长时间,终于,我找到了怎么做:)
请看这张说明步骤的图片。
最简单的方法是单击该提交,并向该提交添加一个标记。 我在这个提交中包含了标签'last_commit' 而不是去下载在左侧角落的侧导航位桶。 点击左边的下载 现在点击导航栏中的标签,从UI下载压缩包。 找到您的标签并下载压缩包
我知道这已经太迟了,但是有了API 2.0你就可以做到
从命令行输入:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>
或者在PHP中使用:
$data = json_decode(file_get_contents("https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>", true));
然后你有你的文件的历史记录(从最近的提交到最古老的提交):
{
"pagelen": 50,
"values": [
{
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<hash>/<path_file>"
},
"meta": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD>/<path_file>?format=meta"
},
"history": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD>/<path_file>"
}
},
"commit": {
"hash": "<HEAD>",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD>"
},
"html": {
"href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD>"
}
}
},
"attributes": [],
"path": "<path_file>",
"type": "commit_file",
"size": 31
},
{
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>"
},
"meta": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>?format=meta"
},
"history": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD~1>/<path_file>"
}
},
"commit": {
"hash": "<HEAD~1>",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD~1>"
},
"html": {
"href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD~1>"
}
}
},
"attributes": [],
"path": "<path_file>",
"type": "commit_file",
"size": 20
}
],
"page": 1
}
其中> links > self提供了历史记录中当前时刻的文件,您可以使用curl <link>或file_get_contents(<link>)检索它。
最终,在命令行中,你可以使用:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>?fields=values.links.self
在php中,只需在数组$data上做一个foreach循环。
注意:如果<path_file>有一个/,你必须在%2F中转换它。
在这里查看医生:https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D