如何在 bitbucket 上通过 SSH 结帐

Cer*_*rin 3 ssh git bitbucket.org

通过 SSH 克隆 bitbucket 项目是否有某种技巧,这样您就不必每次都手动输入密码?

我试过遵循他们的文档,并且能够达到运行ssh -T git@bitbucket.org报告成功的程度。

我的 Bitbucket 项目页面报告我的 SSH URL 是:

git@bitbucket.org:myaccount/myproject.git
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时:

git init
git remote add origin ssh://git@bitbucket.org:myaccount/myproject.git
git pull origin master
Run Code Online (Sandbox Code Playgroud)

它失败并出现错误:

conq: invalid repository syntax.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

小智 7

您将两个 Git SSH 协议变体混为一谈,并在此过程中构建了一个无效的 URL。

引用有关协议选项Git 文档

要通过 SSH 克隆 Git 存储库,您可以指定 ssh:// URL,如下所示:

$ git clone ssh://user@server/project.git
Run Code Online (Sandbox Code Playgroud)

或者,您可以对 SSH 协议使用更短的类似 scp 的语法:

$ git clone user@server:project.git
Run Code Online (Sandbox Code Playgroud)

请注意,您不能只ssh://在类似 scp 的语法前面打一巴掌,您需要在主机名 ( server)后添加一个正斜杠。

因此,ssh://您需要一个正式的URL:

git remote add origin ssh://git@bitbucket.org/myaccount/myproject.git
Run Code Online (Sandbox Code Playgroud)

或者只是使用:

git remote add origin git@bitbucket.org:myaccount/myproject.git
Run Code Online (Sandbox Code Playgroud)

为了完整起见,请参阅Bitbucket 关于该主题的文档