2013-03-01 73 views
18

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 

那麼,如何使用我的用戶名/密碼進行推送?

回答

27

你總是可以設置使用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

19

根據我的理解,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

5

看起來你確實使用過開發者的鑰匙。 需要在配置文件中添加SSH密鑰並將其在存儲庫部分中刪除。

4

嘗試使用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會提示輸入密碼,讓您可以寫入推送。

方便在使用只讀部署密鑰的服務器上進行快速編輯。

0

第一個bitbucket支持ssh訪問。

我想你可以在回購協議下添加你的密鑰。回購中的關鍵是一個部署密鑰,它沒有寫權限。

如果您需要推送權限,您應該在您的帳戶下添加密鑰。

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