새 저장소에서 원점 마스터 오류 푸시


181

방금 github과 함께 git을 사용하기 시작했습니다. 나는 그들의 지시를 따르고 마지막 단계에서 오류가 발생했습니다. 현재 소스 제어되지 않은 기존 디렉토리를 확인하고 있습니다 (1 주일 정도 된 프로젝트). 그 외에는, 나의 유스 케이스는 제재소에서 꽤 뛰어나야합니다.

무슨 일이 일어나고 있는지 :

$ git push origin master
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

Github의 지침 :

Global setup:

  Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email {username}@gmail.com

Next steps:

  mkdir projectname
  cd projectname
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:{username}/{projectname}.git
  git push origin master

4
어떤 이유로 든 초기 커밋이 작동하지 않은 것으로 보입니다. 힘내 로그는 커밋이 작동하는지 여부를 확인하는 데 도움이되었습니다. 다음날 다시 시도해 보았습니다. 감사!
sutee

1
파일을 추가하지 않거나 git init를 커밋하거나 실행하면 항상 이런 종류의 문제가 발생합니다. 따라서 항상 git status모든 것이 정상인지 확인하십시오.
raduken

기존 코드에서 새로 작성된 자식 저장소에 분기를 작성할 때 비슷한 오류가 발생합니다. 자식 저장소를 복제하여 오류를 해결했습니다.
user553620


github에“git push”할 때 오류가 발생할 수 있습니다.

답변:


137

오류 메시지는 master로컬 저장소에 분기 가 없다는 결론을 내립니다. 기본 개발 브랜치를 푸시하거나 ( github에서 git push origin my-local-master:master이름을 바꿉니다 master) 먼저 커밋을하십시오. 완전히 비어있는 저장소를 푸시 할 수 없습니다.


10
GitHub ( beans.seartipy.com/2008/12/09/… )가 참조하는 관련 안내서 에서 "git commit -m 'first commit'"명령을 언급하지 않았기 때문에 "빈 저장소"문제가있었습니다 . 일단 그것을 사용하면 모든 것이 잘되었습니다!
Pascal Lindelauf

3
변경 사항을 커밋하는 것을 잊었습니다.
Nick Josevski

당신이 말할 때 git push origin my-local-master:master그것은 무엇을 의미 my-local-master합니까? 푸시하려는 폴더의 CSS-pix라는 이름이있는 경우
Nofel

187

나는 같은 문제를 겪고 있었고 실제로 프로젝트 파일을 추가하지 않았기 때문에 머리에 부딪쳤다.

git add -A
git commit -am "message"
git push origin master

예, 다음을 시도했지만 대신 해결책은 명령을 대신 사용하는 것입니다. git add * 올바른 구문은 git add입니다.
Eric Martindale

5
같은 일을 했습니까 ... 감사!
cbmeeks

28

나는 같은 문제가 있었다. .git 폴더를 삭제 한 후 다음 명령을 수행했습니다.

  1. $ git init
  2. $ git add .
  3. $ git remote add origin git@gitorious.org:project/project.git
  4. $ git commit -m "Initial version"
  5. $ git push origin master

9

나는 같은 문제가 있습니다. 내 문제가 해결되었습니다. 당신은 당신의 자식을 초기화합니다. 당신은 터미널에서해야

1) git add .

2)git commit -m "first commit"

비트 버킷으로 보내기

삼) git push -u origin --all # pushes up the repo and its refs for the first time


6

첫 번째 Git 리포지토리를 만드는 동안 동일한 문제가 발생했습니다. 나는 Git 원산지 원격 생성에 오타가있었습니다. 내 저장소의 이름을 대문자로하지 않았습니다.

 git remote add origin git@github.com:Odd-engine

먼저 이전 리모컨을 사용하여 제거했습니다.

git remote rm origin

그런 다음 원점을 다시 작성하여 원점의 철자와 같은 방식으로 원점의 이름을 입력했는지 확인했습니다.

git remote add origin git@github.com:Odd-Engine

더 이상 오류가 없습니다! :)


4

Bombe가 master git branch라는 지점을 나열 했지만 구성에 master라는 로컬 지점이 없다고 말했듯이 동일한 오류가 발생했습니다 ...

수정하려면 .git / config에 추가하십시오.

[branch "master"]
    remote = origin
    merge = refs/heads/master

킨다 해 키지 만 일을


3

최소한 마스터 지점에 지점에 있는지 확인하십시오

유형:

git branch

넌 봐야 해:

우분투 사용자 : ~ / git / turmeric-releng $ 자식 분기

* (no branch)
master

다음을 입력하십시오.

git checkout master

모든 변경 사항은 마스터 브랜치 (또는 브랜치 u 선택)에 맞습니다.


2

실제로 문제를 해결하기 위해 다음 명령을 사용하여 모든 파일을 커밋으로 스테이징했습니다.

$ git add .
$ git commit -m 'Your message here'
$ git push origin master

내가 가진 문제는 git add의 -u 명령이 실제로 새 파일을 추가하지 않았으며 git add -A 명령이 git 설치에서 지원되지 않았다는 것입니다. 따라서이 스레드에서 언급했듯이 스테이지하려고하는 커밋이 비어있었습니다.


그것은 나를 위해 일했다! 나는 너무 많은 명령으로 시도했지만 아무것도 바뀌지 않았다 ... 그러나 이것은 나를위한 해결책이었다!
karensantana

1

나는 내 문제를 고쳤다.…

문제가 무엇인지 확실하지 않지만 gitx 인터페이스를 사용하여 준비된 파일을 커밋 한 다음 ...

$ git push origin master

일했다 ...

나는 같은 문제가 있습니다 ...

bort 템플릿 파일에 추가 된 새 폴더를 만들었습니다.

$ git commit -m 'first commit'

$ git remote add origin git@github.com:eltonstewart/band-of-strangers.git

$ git push origin master

그런 다음 같은 오류가 발생합니다 ...

오류 : src 참조 스펙 마스터가 일치하지 않습니다.
치명적 : 원격 끝이 예기치 않게
오류가 발생했습니다 : 'git@github.com : eltonstewart / band-of-strangers.git'에 일부 참조를 푸시하지 못했습니다.


1
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

오류 메시지를 일반화하지 않으면 문자 그대로 git@github.com:{username}/{projectname}.git원격 Git 저장소로 표시됩니다. 당신은 기입한다 {username}당신의 GitHub의 사용자 이름으로, 그리고 {projectname}프로젝트의 이름.


1
cd  app 

git init 

git status 

touch  test 

git add . 

git commit  -a  -m"message to log " 

git commit  -a  -m "message to log" 

git remote add origin 

 git remote add origin git@git.google.net:cherry 

git push origin master:refs/heads/master

git clone git@git.google.net:cherry test1

1

나는 같은 문제가 있었다. 컴퓨터에서 소문자로 디렉토리를 실수로 만들었습니다. 사례를 변경하면 문제가 해결되었습니다 (그러나 1.5 시간을 낭비했습니다 :() 디렉토리 이름과 원격 저장소 이름이 같은지 확인하십시오.


1

이 질문에 이미 많은 답변이있는 것처럼 보이지만, 내가 가지고있는 문제를 해결하는 것을 보지 못했기 때문에 내 무게를 ll 것입니다.

새로운 github 저장소 에서도이 오류가 발생했습니다. 내가 밀고 있던 사용자가 푸시 액세스 권한이 없었습니다. 어떤 이유로 인해 일종의 액세스 오류 대신 "ERROR : repository not found"오류가 발생합니다.

어쨌든, 이것이 같은 문제에 처한 가난한 영혼을 도울 수 있기를 바랍니다.


1

1 분 전에 같은 문제가 있었고 고쳤습니다.

github에 wordpress라는 저장소를 만듭니다 ...

cd wordpress
git init
git add -A
git commit -am “WordPress 3.1.3″ or any message
git remote add origin git@github.com:{username}/wordpress.git
git push -u origin master

이것은 refspec 문제를 해결하는 데 효과적입니다.


저에게 도움을 주셔서 감사합니다. "git add"의 차이점이 무엇인지 알 수 있습니까? and "git add -A"
Satish Karuturi

: 당신이 미래의 심판에 대한 1.x에서 체크 테이블에있는 경우 V 2.x에서에있는 경우의 차이는 중요하지 stackoverflow.com/a/26039014/640727
데이비드 체이스


0

이전 버전의 git에서는 적어도 하나의 파일을 먼저 커밋 한 다음 "원점 마스터를 다시 푸시"할 수 있다고 생각합니다.


0

빈 디렉토리와 관련된 문제는 아무것도 없습니다. 각 디렉토리에 하나의 이진 파일을 만든 다음 문제를 해결하여 문제를 해결했습니다.


0

Initital add & commit은 매력처럼 작동했습니다. 저장소 내에서 프로젝트를 관리하는 Git의 방법론을 이해하는 것이 문제 일뿐입니다.

그 후 나는 번거 로움없이 데이터를 곧장 밀어 넣을 수있었습니다.


0

방금이 문제가 발생 하여 기본 커밋 메시지 위에 커스텀 커밋 메시지를 추가 하지 않아서 발생하는 것으로 보입니다 (Git에서 생성 된 텍스트에서 똑같은 것을 명확하게 말할 때 왜 "초기 커밋"이라고 쓰십니까? 그 아래).

.git 디렉토리를 제거하고 Git의 프로젝트 디렉토리를 다시 초기화하고 GitHub 원격을 다시 추가하고 모든 파일을 새 단계에 추가하고 자동 생성 메시지 위의 개인 메시지로 커밋하고 푸시 할 때 문제가 해결되었습니다. 원산지 / 마스터.


0

Github에서 리포지토리를 생성하면 리포지토리에 README.md 파일이 추가됩니다.이 파일이 로컬 디렉토리에 없거나 다른 컨텐츠가있을 수 있으므로 git push가 실패 할 수 있습니다. 내가 한 문제를 해결하기 위해 :

git pull origin master
git push origin master

이번에는 README.md 파일이 있기 때문에 작동했습니다.


0

첫 번째 커밋 전에 readme.txt와 같은 파일을 추가하십시오. 이렇게하면 원격 리포지토리가 "강제로"존재하지 않는 경우 분기 마스터를 만듭니다. 그것은 나에게 일했다.


0

이것은 매우 오래된 질문이지만 나처럼 여기에서 끝나는 모든 새로운 사람들에게 해당됩니다. 이 솔루션은

error: src refspec master does not match any.

새 저장소에 대한 오류가 생성되었습니다.

당신은 추가해야합니다

git config user.email "your email"
git config user.name "name"

이메일과 이름을 추가 한 후에 만 ​​git 및 commit에 파일을 추가하십시오.

git add .
git commit -m "message"

그것은 매력처럼 작동합니다


0

이 오류도 있습니다. 많은 사람들이하는 것처럼 빈 프로젝트를 푸시하지 않는 커밋을 넣었지만 작동하지 않습니다.

문제는 SSL이었다, 당신은 다음을 넣어

자식 설정 --system http.sslverify false

그리고 그 후에 모든 것이 잘 작동합니다 :)

자식 푸시 원점 마스터


0

나는 같은 문제 / 오류가 발생 했습니다. git push -u origin master대신 방금 하고 있었고 git push origin master효과가있었습니다.


0

제어판으로 이동하여 자격 증명을 관리하고 github 자격 증명을 삭제하십시오 (있는 경우).


0

오래된 실을 부딪 치다.

a Readme또는 a로 Github에 리포지토리를 생성 한 .gitignore경우 원격 마스터를 사용하여 로컬 마스터를 리베이스해야 할 수도 있습니다. create-app와 같은 프로젝트 스캐 폴딩 도구를 사용하는 경우 이러한 파일이 생성되므로 원격 마스터를 푸시하기 전에 로컬과 동기화해야합니다.

Github에서 빈 저장소를 작성하는 경우 간단히 푸시 할 수 있습니다.


-1

나는 같은 문제가 있었고, 일부 사용자가 이것에 대답했습니다. 푸시하기 전에 첫 번째 커밋이 있어야합니다. 이제 새로운 사용자를 위해 일련의 간단한 단계를 만들었습니다. 그 전에 git을 설치하고 명령 행에서 실행해야합니다.

  • git config user.email "이메일"
  • 자식 설정 user.name "name"

원격 저장소를 만드는 단계 (드롭 박스를 원격 저장소로 사용합니다) :

1. create a directory in Dropbox (or on your remote server)
2. go to the Dropbox dir (remote server dir)
3. type git command: git init --bare
4. on your local drive create your local directory
5. go to local directory
6. type git command: git init
7. add initial files, by typing git command:: git add <filename> 
8. type git command: git commit -a -m "initial version" (if you don't commit you can't do the initial push
9. type git command: git remote add name <path to Dropbox/remote server> 
10. git push name brach (for first commit the branch should be master)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.