Bitbucket git push作为用户

die*_*o2k 19 git bitbucket

1)我使用主TEAM用户在bitbucket上创建一个新的repo.

2)然后我添加所有可以下载此回购的开发密钥.

3)使用以下命令访问服务器并复制此repo:

git clone ssh://git@bitbucket.org/user/repo.git
Run Code Online (Sandbox Code Playgroud)

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

git commit -a -m "some improves"
Run Code Online (Sandbox Code Playgroud)

所以这是问题:

我不能做一个git push因为我没有正确的推动与这个用户这样做:

# git push
conq: repository access denied. access via a deployment key is read-only.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

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

小智 28

您始终可以使用https在服务器上设置第二个遥控器:

git remote add edit-only-origin https://bitbucket.org/user/repo.git
Run Code Online (Sandbox Code Playgroud)

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

git push edit-only-origin
Run Code Online (Sandbox Code Playgroud)

这会提示您输入用户名和密码.


yee*_*nny 19

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

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

如果你从终端复制它以确保混合中没有任何时髦的角色,那就更好了.要在OSX中执行此操作,请键入pbcopy < ~/.ssh/id_rsa.pub.对于Linux,请查看Agush的评论.

  • pbcopy仅适用于OSX,你应该提一下.对于Linux,有```xclip -sel c~/.ssh/id_rsa.pub``` (2认同)

小智 5

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


s29*_*s29 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
Run Code Online (Sandbox Code Playgroud)

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

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