如何从 Bitbucket 中提取代码

2021-07-22 22:06:31

每年左右,有些事情迫使我重新开始一个新的操作系统映像。最近,那是一起不幸的水瓶事件。再一次,我需要从互联网上撤下我的数字生活。该博客的代码和资产目前位于一个 500 MB 的 Git 存储库中,该存储库托管在 Bitbucket 上直到今天早些时候。让我们尝试克隆它! evantodd@HW-0063 ~ % git clone [email protected]:etodd/etodd.io.gitCloning 到 'etodd.io'...remote: 枚举对象: 2237, done.remote: 计数对象: 100% (2237/ 2237 ), done.remote: Compressing objects: 99% (1885/1903 ) # hang git clone https://[email protected]/etodd/etodd.io.gitCloning into 'etodd.io'... '的密码https://[email protected]':远程:枚举对象:2237,done.remote:计数对象:100%(2237/2237),done.remote:压缩对象:100%(1903/1903),完成。接收对象:22% (507/2237), 20.75 MiB | 278.00 KiB/s # hang evantodd@HW-0063 ~ % git clone --depth 1 [email protected]:etodd/etodd.io.gitCloning into 'etodd.io'...remote:枚举对象:928,完成。 remote:计数对象:100% (928/928),done.remote:压缩对象:100% (895/895),完成。 # hang evantodd@HW-0063 ~ % git clone --depth 1 https://[email protected]/etodd/etodd.io.gitCloning into 'etodd.io'...remote:枚举对象:928,完成。远程:计数对象:100%(928/928),done.remote:压缩对象:100%(895/895),done.error:RPC失败; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54fetch-pack: 读取边带数据包时意外断开连接fatal: early EOFfatal: index-pack failed 好吧,Bitbucket,我明白是怎么回事了。是时候点击“提供反馈”按钮了。但这是什么?

50 分钟免费构建时间??我敢打赌,那段时间我可以搞点恶作剧。我想知道他们有哪些可用的模板... Jackpot。至关重要的是,用于设置我的第一个管道的小型 Web 安装程序让我可以直接在浏览器中编辑管道 YAML 文件并直接提交。好东西,因为我无法克隆它存储库能够提交给它。删除一堆 npm 废话后,我留下了这个管道 YAML: image: node:10.15.3 pipelines: default: - step: name: Exfiltrate!!脚本:-管道:atlassian/aws-s3-deploy:0.4.4 变量:S3_BUCKET:'etodd.io' LOCAL_PATH:'.' 5 分钟后,我有了一个 S3 存储桶和一个新的 AWS IAM 用户。将该宝贝插入存储库设置。 evantodd@HW-0063 ~ % mkdir etodd.ioevantodd@HW-0063 ~ % AWS_ACCESS_KEY_ID =xxx AWS_REGION =us-west-1 AWS_SECRET_ACCESS_KEY =xxx aws s3 cp s3://etodd.io/ ./etodd@HW-0063 HW-0063 ~ % cd etodd.ioevantodd@HW-0063 etodd.io % git statusRefresh index: 100% (899/899 ), done.On 分支 master 你的分支是最新的,'origin/master'。没有什么可提交的,工作树清洁 evantodd@HW-0063 etodd.io % git remote rm originevantodd@HW-0063 etodd.io % git remote add origin [email protected]:etodd/etodd.io.gitevantodd@HW-0063 etodd.io % git push --set-upstream origin mainEnumering objects: 1353, done.Counting objects: 100% (1353/1353 ), done.Delta 压缩使用最多 12 个线程压缩对象: 100% (976/976 ), done.Writing objects: 100 % (1353/1353), 324.57 MiB | 1.17 MiB/s, done.Total 1353 (delta 340 ), reused 1353 (delta 340 ), pack-reused 0remote: Resolving deltas: 100% (340/340 ), done.To github.com:etodd/etodd.io。混蛋! [远程拒绝] main -> main(不允许浅更新)错误:无法将一些引用推送到“github.com:etodd/etodd.io.git” 当然! Bitbucket 构建代理使用 --depth 50 克隆了 repo,因此它没有完整的 Git 历史记录。但也许现在我已经下载了大部分 repo,我可以从 Bitbucket 获取其余部分?

evantodd@HW-0063 etodd.io % git fetch --unshallow https://[email protected]/etodd/etodd.io.gitPassword for 'https://[email protected]':远程:枚举对象:1035 , done.remote: Counting objects: 100% (1035/1035 ), done.remote: Compressing objects: 100% (642/642), done.error: RPC failed; curl 56 LibreSSL SSL_read:SSL_ERROR_SYSCALL,errno 54fetch-pack:读取边带数据包时意外断开连接致命:早期EOFFatal:索引包失败如此接近!事实证明,您还可以加深浅层克隆,而无需一直使用 git fetch --depth N。通过反复试验,我不断增加深度,一点一点地下载 repo。最后,最后一次 git fetch --unshallow 就完成了。我写了这篇文章,提交,推送到 Github,将 Netlify 指向新的 repo,现在你已经了解了一些事情。如果您需要从 Bitbucket 中获取代码,我希望这会有所帮助。