2013-03-01 66 views
18

1) Tôi tạo một repo mới trên bitbucket bằng cách sử dụng người dùng TEAM chính.Bitbucket git push là người dùng

2) Sau đó, tôi thêm tất cả các phím phát triển sẽ có thể tải xuống repo này.

3) Đã đi đến một máy chủ và tạo ra một bản sao của repo này bằng cách sử dụng lệnh:

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

4) Tôi thực hiện một số thay đổi mã và thực hiện các cam kết

git commit -a -m "some improves" 

Vì vậy, đây là Câu hỏi:

Tôi không thể thực hiện thao tác git push vì tôi không có quyền thực hiện điều đó với người dùng này:

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

Vì vậy, làm cách nào tôi có thể thực hiện một cú nhấn bằng tên người dùng/mật khẩu của mình?

Trả lời

27

Bạn có thể luôn luôn thiết lập một xa thứ hai trên máy chủ của bạn sử dụng https:

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

Sau đó, bạn có thể thực hiện chỉnh sửa nhỏ, cam kết và sau đó sử dụng lệnh

git push edit-only-origin 

này sẽ nhắc bạn cả tên người dùng và mật khẩu của bạn.

+1

Đây phải là câu trả lời được chấp nhận. – Tisch

+3

Cũng có thể: 'git push https: // bitbucket.org/user/repo.git' –

19

Từ hiểu biết của tôi, deployment key là dành cho quyền truy cập chỉ đọc. Để có thể đẩy, bạn cần thêm khóa ssh của máy tính.

Đi tới Quản lý tài khoản và bên trái, chọn Khóa SSH. Thêm khóa bằng cách sao chép và dán khóa công khai rsa.pub của bạn.

Sẽ tốt hơn nếu bạn sao chép từ thiết bị đầu cuối để đảm bảo không có ký tự vui nhộn nào được trộn lẫn. Để làm như vậy trong OSX, hãy nhập pbcopy < ~/.ssh/id_rsa.pub. Đối với Linux, hãy xem nhận xét của Agush.

+2

pbcopy chỉ dành cho OSX, bạn nên đề cập đến điều đó. Đối với Linux có '' 'xclip -sel c ~/.ssh/id_rsa.pub''' – Agush

+0

ahh bạn nói đúng. Hãy để tôi chỉnh sửa bài đăng của tôi. – yeesterbunny

+0

Nếu tôi làm điều đó, bất kỳ ai trên máy chủ đều được phép đẩy các thay đổi vào máy chủ vì nó sẽ không yêu cầu mật khẩu. Tôi cần một cách để yêu cầu một mật khẩu để đẩy, nhưng không có giới hạn để kéo từ chủ. – diego2k

5

Có vẻ như bạn đã sử dụng khóa của nhà phát triển. Cần thêm khóa SSH trong cấu hình và xóa chúng trong phần lưu trữ.

4

Hãy thử sử dụng HTTPS thay vì SSH -

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

SSH sử dụng chìa khóa, mà chỉ trong trường hợp này giúp bạn đọc truy cập. HTTPS sẽ nhắc mật khẩu của bạn, cho phép bạn viết quyền truy cập để đẩy.

Tiện dụng để chỉnh sửa nhanh trên máy chủ đang sử dụng khóa triển khai chỉ đọc.

0

Truy cập ssh hỗ trợ bitbucket đầu tiên.

Tôi nghĩ bạn có thể thêm khóa của mình trong một kho lưu trữ. Chìa khóa trong repo là một khóa triển khai và nó không có quyền ghi.

Nếu bạn muốn có quyền push, bạn nên thêm khóa trong tài khoản của mình.

Liên kết thích https://bitbucket.org/account/user/#{the-org-name}/ssh-keys/.