作为用户的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
这将提示您输入的命令你的用户名和密码。
根据我的理解,deployment key
用于只读访问。为了能够推送,您需要添加计算机的密钥ssh
。
转到管理帐户,然后在左侧选择SSH密钥。通过复制并粘贴您的rsa.pub公钥来添加密钥。
如果你从终端拷贝它,以确保没有时髦的人物混在一起,那会更好。在OSX中输入pbcopy < ~/.ssh/id_rsa.pub
。对于Linux,请看Agush的评论。
pbcopy仅适用于OSX,您应该提及这一点。 对于Linux,有'''xclip -sel c〜/ .ssh/id_rsa.pub''' – Agush 2013-03-01 21:44:17
啊,你是对的。让我编辑我的帖子。 – yeesterbunny 2013-03-01 21:51:19
如果我这样做,服务器上的任何人都可以将更改推送给主服务器,因为它不会要求输入密码。 我需要一种方法来请求密码进行推送,但不需要从主服务器拉出。 – 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/
。
这应该是被接受的答案。 – Tisch 2014-08-23 14:30:09
也有可能:'git push https:// bitbucket.org/user/repo.git' – 2015-04-22 14:42:43