치명적 : 'origin'이 git 저장소로 보이지 않음


97

나는 저장소를했습니다 moodle나는 내 Github에서 계정에 forked공식 저장소에서.

그런 다음 로컬 컴퓨터에 복제했습니다. 잘 작동했습니다. 여러 가지 (지점 아래)를 만들었습니다 master. 나는 몇 가지 커밋을했고 잘 작동했습니다.

할 때 다음 오류가 어떻게 발생하는지 모르겠습니다. git push origin master

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

Github의 저장소에 영향을주지 않고 오류를 해결하려면 어떻게해야합니까?

나는 사용하고있다 Ubuntu 12.10

.git/config후의 내용 cat $(git rev-parse --show-toplevel)/.git/config은 다음과 같습니다.

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[branch "master"]
[branch "MOODLE_23_STABLE"]
[branch "MOODLE_24_STABLE"]
[remote "upstream"]
    url = git://git.moodle.org/moodle.git
    fetch = +refs/heads/*:refs/remotes/upstream/*

.git / config의 내용을 인쇄하고 여기에 추가하십시오
pmod

@pmod : 업데이트 된 질문을 참조하십시오.
xan 2013 년

로컬 컴퓨터에서 복제 한 폴더에는 .git 폴더가 있어야합니다.
pmod

@xancat $(git rev-parse --show-toplevel)/.git/config
bereal

@pmod : 예, 찾았습니다. 업데이트 된 질문을 참조하십시오.
xan 2013 년

답변:


116

$HOME/.gitconfig당신입니다 세계 자식에 대한 설정.
가 있습니다 세 가지 수준설정 파일 .

 cat $(git rev-parse --show-toplevel)/.git/config

( 언급 에 의해 bereal은 ) 당신입니다 지역 은 복제 한 REPO 로컬 설정.

저장소 내에서 다음을 입력 할 수도 있습니다.

git remote -v

그리고 거기에 나열된 'origin'이라는 원격지가 있는지 확인하십시오.

그렇지 않은 경우 해당 원격 (저장소를 복제 할 때 기본적으로 생성됨)이 누락 된 경우 다시 추가 할 수 있습니다.

git remote add origin url/to/your/fork

OP는 다음과 같이 언급합니다.

다음을 git remote -v제공합니다.

upstream git://git.moodle.org/moodle.git (fetch) 
upstream git://git.moodle.org/moodle.git (push)

그래서 '은 origin'누락되었습니다에 대한 참조 하여 포크.
"을 참조하십시오 의 차이 무엇입니까 originupstreamGitHub의에가 "

여기에 이미지 설명 입력


수행이 git remote -v제공 : upstream git://git.moodle.org/moodle.git (fetch) upstream git://git.moodle.org/moodle.git (push)
xan

@xan 'upstream'은 포크 한 저장소입니다. github의 포크 인 origin이 없습니다. stackoverflow.com/a/15632224/6309stackoverflow.com/a/9257901/6309
VonC

포크를 마스터로 변경하려면 어떻게합니까?
Wolfpack'08

@ Wolfpack'08 "fork"는 저장소 (여러 분기 포함)를 의미합니다. 브랜치에 대한 변경은 git switch : stackoverflow.com/a/57066202/6309 와 관련된 로컬 작업입니다 . 자신의 말로 "포크를 마스터로 변경하는 것"이 ​​의미하는 바는 무엇입니까? 로컬 복제 저장소 (원격 GitHub 포크)에서 로컬 브랜치를 변경 하시겠습니까?
VonC

1
원격 저장소를 소유하고있는 경우 간단히 푸시합니다 git push -u ghy master..
VonC

22

GitHub에서 저장소 이름을 바꿀 때 동일한 문제에 직면했습니다. 오류가 발생한 지점을 밀려 고했습니다.

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

나는 URL을 사용하여 변경해야했다

git remote set-url origin ssh://git@github.com/username/newRepoName.git

이 후 모든 명령이 제대로 작동하기 시작했습니다. 다음을 사용하여 변경 사항을 확인할 수 있습니다.

git remote -v

제 경우에는 성공적으로 변경 한 후 URL에 올바른 이름이 바뀐 저장소를 표시했습니다.

[aniket@alok Android]$ git remote -v
origin  ssh://git@github.com/aniket91/TicTacToe.git (fetch)
origin  ssh://git@github.com/aniket91/TicTacToe.git (push)

14

가져 오려고하는 다른 분기가 동기화되지 않았을 수 있습니다. 따라서 원격을 추가하고 제거하기 전에 (마스터에서 가져 오려는 경우)

git pull origin master

저에게 그 간단한 전화로 오류 메시지가 해결되었습니다.

  • 치명적 : 'master'가 git 저장소로 보이지 않음
  • 치명적 : 원격 저장소에서 읽을 수 없습니다.

3

먼저 원격 원본을 만드십시오. 원격 저장소의 이름을 변경했기 때문에 누락되었을 수 있습니다.

git remote add origin URL_TO_YOUR_REPO


2

이것은 귀하의 질문에 대한 답변이 아니지만 유사한 오류 메시지에 직면했지만 다른 이유로 인해 발생했습니다. 정보 수집을 위해 게시물을 올릴 수 있습니다.

네트워크 드라이브에 git repo가 ​​있습니다. 이 네트워크 드라이브를 RAID라고합시다. 이 저장소를 로컬 컴퓨터 (LOCAL)와 내 번호 처리 클러스터 (CRUNCHER)에 복제했습니다. 편의상 내 계정의 사용자 디렉토리를 내 로컬 컴퓨터의 CRUNCHER에 마운트했습니다. 따라서 SSH 터미널에서 작업을 수행 할 필요없이 CRUNCHER에서 파일을 조작 할 수 있습니다.

오늘 저는 로컬 컴퓨터를 통해 CRUNCHER의 저장소에있는 파일을 수정했습니다. 어느 시점에서 나는 파일을 커밋하기로 결정했기 때문에 커밋을했습니다. 수정 된 파일을 추가하고 커밋을 수행하면 예상대로 작동했지만 전화를 걸었을 때 git push질문에 게시 된 것과 유사한 오류 메시지가 표시되었습니다.

그 이유는 pushLOCAL의 CRUNCHER에있는 저장소 내에서 호출했기 때문 입니다. 따라서 구성 파일의 모든 경로가 잘못되었습니다.

내 잘못을 깨달았을 때 터미널을 통해 CRUNCHER에 로그인하고 커밋을 푸시 할 수있었습니다.

내 설명을 이해할 수 없거나 내 게시물이 불필요하다고 생각되면 자유롭게 의견을 말하십시오.


1

.git / config 에서 ssh 가 아닌 경로 fs 로 원격 원점을 설정할 때 git pull origin branchname 에서 동일한 오류가 발생했습니다 .

fatal: '/path/to/repo.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly

(이것은 git 에 대한 액세스 권한이있는 git 의 동일한 서버에있는 사용자에게만 작동합니다 ) :

url = file:///path/to/repo.git/

다음과 같이 수정되었습니다 ( git 사용자 (ssh authorizes_keys 또는 비밀번호)에 대한 액세스 권한이있는 모든 사용자에게 적용됨 ).

url = git@domain.com:path/to/repo.git

내가 디렉토리 경로로 사용한 이유는 git 파일이 동일한 서버에 있기 때문 입니다.


과연! /후 도메인은되어야 :SSH를 사용하는 경우. 로 간단히 확인하십시오 git remote -v.
Noam Manos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.