19

1) 我使用 TEAM 主用户在 bitbucket 上创建了一个新仓库。

2) 然后我添加所有能够下载这个 repo 的开发密钥。

3) 转到服务器并使用以下命令克隆此 repo:

git clone ssh://git@bitbucket.org/user/repo.git

4)我对代码进行了一些更改并提交了

git commit -a -m "some improves"

所以这是问题:

我无法执行 git push 因为我没有推送权限来对这个用户执行此操作:

# git push
conq: repository access denied. access via a deployment key is read-only.
fatal: The remote end hung up unexpectedly

那么,如何使用我的用户名/密码进行推送?

4

5 回答 5

28

您始终可以使用 https 在您的服务器上设置第二个远程:

git remote add edit-only-origin https://bitbucket.org/user/repo.git

然后,您可以进行小的编辑,提交,然后使用命令

git push edit-only-origin

这将提示您输入用户名和密码。

于 2013-03-05T16:37:14.167 回答
20

据我了解,deployment key是只读访问。为了能够推送,您需要添加计算机的ssh密钥。

转到管理帐户,然后在左侧选择 SSH 密钥。通过复制并粘贴您的 rsa.pub 公钥来添加密钥。

最好从终端复制它以确保没有时髦的字符混入其中。要在 OSX 中执行此操作,请键入pbcopy < ~/.ssh/id_rsa.pub. 对于 Linux,请查看 Agush 的评论。

于 2013-03-01T21:31:22.560 回答
5

看起来您确实使用了开发人员的密钥。需要在配置文件中添加 SSH-key 并在存储库部分中删除它们。

于 2015-01-25T21:43:26.893 回答
5

尝试使用 HTTPS 而不是 SSH --

git -c user.email='myemail@gmail.com' -c user.name='myusername' commit
git push https://myusername@bitbucket.org/path-to/myrepos.git master

SSH 使用密钥,在这种情况下,它只会让您获得读取权限。HTTPS 将提示您输入密码,为您提供推送的写入权限。

便于在使用只读部署密钥的服务器上进行快速编辑。

于 2015-05-29T01:31:37.520 回答
0

第一个 bitbucket 支持 ssh 访问。

我认为您可以在回购协议下添加您的密钥。存储库中的密钥是部署密钥,它没有写入权限。

如果您想要推送权限,您应该在您的帐户下添加密钥。

链接喜欢https://bitbucket.org/account/user/#{the-org-name}/ssh-keys/

于 2017-10-08T03:38:15.287 回答