作为用户的Bitbucket git推送

问题描述:

1)我使用主TEAM用户在bitbucket上创建一个新的回购站。作为用户的Bitbucket git推送

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

3)又到了服务器,并使用命令所做的这个回购的克隆:

git clone ssh://[email protected]/user/repo.git 

4)我做了一些修改代码,并作出承诺

git commit -a -m "some improves" 

因此,这里的问题一:

我不能做一个混帐推BEC我没有做这个用户推右:

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

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

你总是可以设置使用HTTPS服务器上的第二个远程:

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

然后,你可以做小的修改,提交,然后用

git push edit-only-origin 

这将提示您输入的命令你的用户名和密码。

+1

这应该是被接受的答案。 – Tisch 2014-08-23 14:30:09

+3

也有可能:'git push https:// bitbucket.org/user/repo.git' – 2015-04-22 14:42:43

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

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

如果你从终端拷贝它,以确保没有时髦的人物混在一起,那会更好。在OSX中输入pbcopy < ~/.ssh/id_rsa.pub。对于Linux,请看Agush的评论。

+2

pbcopy仅适用于OSX,您应该提及这一点。 对于Linux,有'''xclip -sel c〜/ .ssh/id_rsa.pub''' – Agush 2013-03-01 21:44:17

+0

啊,你是对的。让我编辑我的帖子。 – yeesterbunny 2013-03-01 21:51:19

+0

如果我这样做,服务器上的任何人都可以将更改推送给主服务器,因为它不会要求输入密码。 我需要一种方法来请求密码进行推送,但不需要从主服务器拉出。 – diego2k 2013-03-02 16:06:29

看起来你确实使用过开发者的钥匙。 需要在配置文件中添加SSH密钥并将其在存储库部分中删除。

尝试使用SSH HTTPS而不是 -

git -c user.email='[email protected]' -c user.name='myusername' commit 
git push https://[email protected]/path-to/myrepos.git master 

SSH使用的关键,在这种情况下,只有让你读访问。 HTTPS会提示输入密码,让您可以写入推送。

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

第一个bitbucket支持ssh访问。

我想你可以在回购协议下添加你的密钥。回购中的关键是一个部署密钥,它没有写权限。

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

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