如何通过 ssh 将 Mercurial 存储库推送到 BitBucket?

如何通过 ssh 将 Mercurial 存储库推送到 BitBucket?

我为 ssh 创建了一个公钥,并使用 BitBucket 注册了该密钥。然后我尝试推动:

$ hg push ssh://[email protected]/johncharrell/[project name]
pushing to ssh://[email protected]/johncharrell/[project name
running ssh [email protected] "hg -R johncharrell/[project name serve --stdio"
remote: Warning: Permanently added the RSA host key for IP address '[server IP]' to the list of known hosts.
remote: Permission denied (publickey).
abort: no suitable response from remote hg!

我需要做什么才能让我的公钥(或为此目的创建的其他密钥)允许我从 shell 或 crontab 执行 hg 推送?在 BitBucket 中,我拥有该项目的读写权限,但据我所知,没有任何管理权限。

答案1

要允许推送,您应该将公钥上传到 bitbucket,您可以通过以下方式执行此操作:

  • 单击右上角的登录图标并选择 bitbucket 设置
  • 在左侧的“安全”部分中选择“SSH 密钥”
  • 选择“添加密钥”并上传您的公钥

之后,您应该能够使用安装了匹配私钥的任何帐户进行上传,甚至可以通过 cron 作业进行上传。

我还建议您首先在 bitbucket 上创建存储库,然后使用BitBucket 提供ssh的参数hg通过 Mercurial 进行拉取。之后你就可以hg push不用任何参数了。

如果您已有存储库,则必须在新目录中执行此操作,并将初始更改复制到从 BitBucket 新鲜签出的存储库上。

相关内容