마스터를 Github에 Git-push 할 수 없음- ‘origin’이 git 저장소로 표시되지 않음 / 권한 거부 됨 원격 목록에 teamMate가있을

이 질문은 rebase, branch 및 merge 이해 및 문제와 관련된 내 문제와 관련 이 있습니다.

원격 목록에 teamMate가있을 때 github 계정에 어떻게 커밋 할 수 있습니까?

나는 다른 사람들 도 같은 문제를 가지고 있다는 것을 알았습니다 . 문제는 /etc/xinet.d/와 관련된 것 같습니다.

문제 : 내 로컬 브랜치를 Github의 마스터 브랜치로 푸시 할 수 없습니다 .

난 달린다

git push origin master

나는 얻다

fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

오류 메시지는 ‘origin’브랜치가 내 로컬 git 저장소에 없다는 것을 암시합니다. 이렇게하면 Git은 Github에 대한 연결을 중지합니다.

나는 분기 ‘원점’을 제거하지 않았기 때문에 이상합니다.

내 자식 트리는

  dev
* master
  ticgit
  remotes/Math/Math
  remotes/Math/master
  remotes/origin/master
  remotes/Masi/master

로컬 Git에 teamMate의 브랜치를 가지고있는 동안 어떻게 로컬 브랜치를 Github로 푸시 할 수 있습니까?


VonC의 답변은 주요 문제를 해결합니다. 내 ssh 키에 암호를 넣었습니다.

난 달린다

$git push github master

나는 얻다

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

어떻게 든 Git에 대한 암호를 제공해야하는 것 같습니다.

Github에서 ssh 키에 의존하지 않고 암호를 요청하도록하려면 어떻게해야합니까?



답변

무엇을

$ git config --get-regexp '^(remote|branch)\.'

return (git 저장소 내에서 실행 됨)?

Origin은 원격 Git 저장소를 참조하기위한 기본 명명 규칙 일뿐입니다.

GitHub를 참조하지 않는 경우 (그러나 팀원 저장소 경로, 더 이상 유효하지 않거나 사용 가능하지 않을 수있는 경로),이 Bloggitation 항목 과 같이 다른 출처를 추가 하십시오.

$ git remote add origin2 git@github.com:myLogin/myProject.git
$ git push origin2 master

(실제로 ‘origin’또는 ‘origin2’가 아닌 ‘github’라는 이름을 사용합니다.)


권한이 거부되었습니다 (공개 키).
치명적 : 원격 끝이 예기치 않게 끊김

GitHub 도움말 가이드에 언급 된대로 gitHub ID가 로컬 Git 저장소에서 올바르게 선언되었는지 확인합니다 . (user.name 및 github.name-및 github.token)

그런 다음 stonean 블로그에서 제안합니다 ( Marcio Garcia도 마찬가지 ).

$ cd ~/.ssh
$ ssh-add id_rsa

Aral Balkan 추가 : 구성 파일 생성

해결책은 이 페이지의 OS X 섹션 하단에 설명 된대로 ~ / .ssh / 아래에 구성 파일을 만드는 것이 었습니다 .

페이지의 지침에 따라 추가 한 파일은 다음과 같습니다. 푸시가 다시 작동하기 시작했습니다.

Host github.com
User git
Port 22
Hostname github.com
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes

결과를 게시 할 수도 있습니다.

ssh -v git@github.com

GitHub ssh 연결이 사용자를 거부하는 이유에 대한 자세한 정보를 얻으십시오.

공개 키를 올바르게 입력 했는지도 확인하십시오 ( ‘ ==‘ 로 끝나야 함 ).
개인 키를 붙여 넣지 말고 공개 키를 붙여 넣으십시오. 공개 키는 다음과 같습니다.

ssh-rsa AAAAB3<big string here>== tek...@gmail.com

(참고 : ssh 키에 암호를 사용 했습니까? 암호없이 더 쉬울 것입니다)

( git@github.com/..., not git://github.com/...)을 누를 때 사용 된 URL도 확인하십시오.

키를 사용하고 캐시 할 SSH 에이전트가 있는지 확인하십시오.

이 시도:

 $ ssh -i path/to/public/key git@github.com

작동하는 경우 키가 ssh 클라이언트에 의해 GitHub로 전송되지 않음을 의미합니다.


답변

이것은 리모컨의 문제입니다. 당신이 할 때 git push origin master, origin은 리모트이고 master당신이 밀고있는 브랜치입니다.

이렇게하면 :

git remote

목록에 포함되지 않을 것 origin입니다. 원점 원격을 다시 추가하려면 :

git remote add origin git@github.com:your_github_username/your_github_app.git

또는 존재하지만 형식이 잘못된 경우 :

git remote rm origin
git remote add origin git@github.com:your_github_username/your_github_app.git


답변

VonC의 답변이 가장 좋지만 저에게 도움이 된 부분은 매우 간단했으며 다른 많은 가능한 답변에 묻혀 있습니다. 나와 같은 경우 “레일 시작하기”자습서를 실행하는 동안이 문제가 발생했으며 공개 / 개인 SSH 키를 설정하지 않았습니다.

그렇다면 다음을 시도하십시오.

  1. $>cd ~/.ssh

  2. $>ls

  3. ls의 출력이 known_hosts아닌 경우 http://help.github.com/mac-key-setup/을 방문 하여 “키 생성”섹션의 지침을 따르십시오.

이러한 지침을 실행 한 후 “git push origin master”명령이 작동했습니다.


답변

나는 같은 문제가 있고 방화벽이 git 프로토콜을 차단하고 있다고 생각합니다. 그래서 결국에는 https : //를 사용하여 가져오고 푸시해야합니다. 그러나 이것은 항상 사용자에게 암호를 입력하라는 메시지를 표시합니다.

여기 나를 위해 일하는 예제가 있습니다 (그냥 git : // 프로토콜을 사용할 수없는 사람들과 공유하기 위해 🙂

git fetch https://[user-name]@github.com/[user-name]/[project].git

위의 방법이 작동하면 원점을 제거하고

git remote rm origin
git remote add origin https://[user-name]@github.com/[user-name]/[project].git


답변

나는 그것이 잘못된 git 오류 메시지의 또 다른 경우라고 생각합니다. 일반적으로 그 오류를 보았을 때 ssh 문제로 인한 것입니다. 공개 SSH 키를 github 계정에 추가 했습니까?

편집 : 또한 xinet.d 포럼 게시물은 사람들이 시스템에서 가져올 수 있도록 git-daemon을 서비스로 실행하는 것을 언급하고 있습니다. git-daemon을 실행하여 github로 푸시 할 필요는 없습니다.


답변

같은 문제가 발생하여 ~ / .ssh / id_rsa.pub의 내용을 GitHub의 내 계정에 추가했습니다. 그 후에 다시 시도 git push origin master하면 작동합니다.


답변

기억해야 할 핵심은 ‘origin’은 사용해야 할 가치가 아니라는 것입니다 .’origin ‘을 repo의 이름으로 바꾸면 저에게 효과적이었습니다.