2013-03-01 2 views
18

1) 기본 TEAM 사용자를 사용하여 bitbucket에 새로운 repo를 만듭니다.Bitbucket git push with user

2) 그런 다음이 repo를 다운로드 할 수있는 모든 개발 키를 추가합니다. 그래서 여기에 커밋

git commit -a -m "some improves" 

를 내가 코드에 약간의 변화를 만들어 만든

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

4) :

3) 서버에 가서 명령을 사용하여이 REPO의 복제를 만든 질문 :

나는이 사용자와 함께 할 권리가 없기 때문에 git push를 할 수 없습니다.

# 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

+3

또한 가능합니다 :'git push https : // bitbucket.org/user/repo.git' –

19

제 생각에 deployment key은 읽기 전용입니다. 푸시 할 수 있으려면 컴퓨터의 ssh 키를 추가해야합니다.

계정 관리로 이동하고 왼쪽에서 SSH 키를 선택하십시오. rsa.pub 공개 키를 복사하여 붙여 넣어 키를 추가하십시오.

터미널에서 복사하여 펑키 한 문자가 혼합되어 있지 않은지 확인하는 것이 좋습니다. OSX에서 그렇게하려면 pbcopy < ~/.ssh/id_rsa.pub을 입력하십시오. Linux의 경우 Agush의 의견을 참조하십시오.

+2

pbcopy는 OSX에만 해당됩니다. 리눅스의 경우'''xclip -sel c ~/.ssh/id_rsa.pub'''가 – Agush

+0

아하 네 말이 맞다. 내 게시물을 수정하겠습니다. – yeesterbunny

+0

만약 내가 그렇게하면 서버에있는 누군가는 패스워드를 물어 보지 않을 것이기 때문에 마스터에게 변경 사항을 푸시 할 수 있습니다. 푸시 암호를 묻는 방법이 필요하지만 마스터에서 가져올 제한이 없습니다. – diego2k

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 액세스를 지원합니다.

레포 아래에 키를 추가 할 수 있습니다. repo의 키는 배포 키이며 쓰기 권한이 없습니다.

푸시 권한을 원하면 계정에 키를 추가해야합니다.

링크는 https://bitbucket.org/account/user/#{the-org-name}/ssh-keys/을 좋아합니다.