질문자 :sinoohe
다음을 사용하여 저장소를 복제합니다.
git clone ssh://xxxxx/xx.git
그러나 일부 파일을 변경하고 add
하고 commit
후 서버에 푸시하고 싶습니다.
git add xxx.php git commit -m "TEST" git push origin master
그러나 내가 다시 얻는 오류는 다음과 같습니다.
error: src refspec master does not match any. error: failed to push some refs to 'ssh://xxxxx.com/project.git'
아마도 당신은 단지 커밋해야 할 것입니다. 내가 할 때 나는 이것에 부딪쳤다.
mkdir repo && cd repo git remote add origin /path/to/origin.git git add .
앗! 절대 커밋하지 않습니다!
git push -u origin master error: src refspec master does not match any.
내가해야 할 일은 다음과 같습니다.
git commit -m "initial commit" git push origin master
성공!
baisonggit show-ref
를 시도하여 어떤 참조가 있는지 확인하십시오. refs/heads/master
있습니까?
최근 "GitHub에서 master를 main으로 교체" 작업으로 인해 refs/heads/main
이 있음을 알 수 있습니다. 결과적으로 다음 명령은 git push origin HEAD:master
에서 git push origin HEAD:main
- 보다 로컬 참조 독립적인 솔루션으로
git push origin HEAD:master
를 시도할 수 있습니다. HEAD
를 원격 ref master
로 푸시하기를 원한다는 것을 명시적으로 나타냅니다( git-push refspec 문서 참조).
Vi.- 내 변경 사항은 이미 커밋되었습니다.
- 강제 푸시는 여전히 동일한 오류를 제공했습니다.
그래서 나는 Vi의 솔루션을 시도했습니다.
git push origin HEAD:<remoteBranch>
이것은 나를 위해 일했습니다.
tldr로컬 컴퓨터에서 모든 파일을 삭제한 후에도 비슷한 오류가 발생하여 저장소의 모든 파일을 정리해야 합니다.
내 오류 메시지는 다음과 같았습니다.
error: src refspec master does not match any. error: failed to push some refs to 'git@github ... .git'
그리고 다음 명령을 실행하여 해결했습니다.
touch README git add README git add (all other files) git commit -m 'reinitialized files' git push origin master --force # <- caution, --force can delete others work.
Aryogit push -u origin master error: src refspec master does not match any.
이를 위해 다음과 같이 커밋 메시지를 입력한 다음 코드를 푸시해야 합니다.
git commit -m "initial commit" git push origin master
마스터로 푸시했습니다.
VIKAS KOHLI저를 위해 공개 키 가 서버(~/.ssh/authorized_keys에 추가됨)와 GitHub / Bitbucket (GitHub 또는 Bitbucket에서 내 SSH 키에 추가됨)에 올바르게 구성되어 있는지 확인해야 했습니다. 이 둘은 일치해야 합니다. 그 다음에:
git add --all :/ git commit -am 'message' git push -u origin master
RedGit이 디렉토리만 추가한 후 새로운 리포지토리에서 이러한 일이 발생했음을 발견했습니다.
파일(예: README)을 추가하자마자 Git 푸시가 잘 작동했습니다.
Andrew Egit add .
누락되었거나 건너뜁니다. 또는 git commit
인해 다음 오류가 발생할 수 있습니다.
git push -u origin master Username for 'https://github.com': yourusername Password for 'https://yourusername@github.com': error: src refspec master does not match any. error: failed to push some refs to 'https://github.com/yourusername/foobar.git'
이 문제를 해결하려면 다시 초기화하고 적절한 순서를 따르세요.
git init git add . git commit -m 'message' git *create remote git push -u origin master
aug2uag이 문제를 해결하려면 다시 초기화하고 적절한 코드 시퀀스를 따르세요.
git init git add . git commit -m 'message' git push -u origin master
pratik kumar먼저 추가했는지 확인한 다음 커밋/푸시:
좋다:
git init git add . git commit -m "message" git remote add origin "github.com/your_repo.git" git push -u origin master
Saurabh Singh나는 같은 문제에 직면했고 --allow-empty
.
$ git commit -m "initial commit" --allow-empty ... $ git push ...
보충
이 문제의 주요 원인 중 하나는 BitBucket과 같은 일부 Git 서버는 새 저장소가 복제될 때 master
Jin Kwon이것은 특정 분기에 있고 아직 존재하지 않는 다른 분기를 푸시하려고 할 때도 발생합니다. 예를 들면 다음과 같습니다.
$ git branch * version-x # you are in this branch version-y $ git push -u origin master error: src refspec master does not match any. error: failed to push some refs to 'origin_address'
wilsonfoz나를 위해 추적되지 않은 파일을 이동하려면 다음을 수행하십시오.
git add --all
다음으로 비슷한 단계를 따랐습니다.
git commit -m "First commit"
그 다음에,
git remote add origin git@github.....
마지막으로 중요한 것은 다음과 같습니다.
git push -u origin master
이렇게 하면 사용자 이름과 암호를 묻는 Windows 보안이 나타납니다.
Areeha나는 며칠 전에 같은 문제에 직면했습니다.
당신이 요즘 새 저장소 (2020)를 만든 경우 기본 분기는 GitHub의에 주요이다.
이제 저장소 분기에서 GitHub를 확인할 수 있습니다.
다음 명령을 실행하여 터미널에서 분기를 확인할 수도 있습니다.
git branch
그래서 당신이 실행해야 하는 이유
git push origin main
대신에
git push origin master
행운을 빕니다
Arslan Ahmad khan.gitignore
파일을 포함하는 것을 잊었습니다. 필요한 모든 단계는 다음과 같습니다.
- 원격에 빈 Git 저장소를 만들고,
- 로컬에서 프로젝트에 대한 .gitignore 파일을 만듭니다. GitHub는 여기 에 예제 목록을 제공합니다.
터미널을 시작하고 프로젝트에서 다음 명령을 수행합니다.
git remote add origin YOUR/ORIGIN.git git add . git commit -m "initial commit or whatever message for first commit" git push -u origin master
Ismail HGitHub 업데이트 01.10.20 이후에는 master 대신 main을 사용해야 합니다.
이런식으로 하세요...
-
Create a repository on GitHub
- 로컬 디렉토리에서 기존
.git
- 로컬 프로젝트 디렉토리로 이동하여
git init
-
git add .
-
git commit -m"My First Commmit"
- 이제 로컬 프로젝트의
master
가 될 지점 이름을 확인하십시오. -
git remote add origin <remote repository URL past here from the github repository>
을 입력한 다음 git remote -v
-
git push -f origin master
- 이제 github 저장소를 확인하면 두 개의 분기 1.
main
2. master
- 로컬 저장소에서 새 분기를 만들고 분기 이름은
main
-
git checkout main
-
git merge master
-
git pull origin main
-
git push -f origin main
참고: 01.10.20부터 github은 기본 분기 이름을 사용하는 master
main
Md. Rana초기 커밋을 추가하기만 하면 됩니다. 이 차례를 따라라:
이것은 나를 위해 일했습니다.
NeeruKSingh내 문제는 '마스터' 분기가 아직 로컬로 생성되지 않았다는 것입니다.
빨리
git checkout -b "master"
마스터 브랜치를 만들었습니다. 이 시점에서 빠른
git push -u origin master
Git 저장소로 작업을 푸시했습니다.
Anthony직면한 문제
GitHub에서 새 리포지토리를 만들고 내가 가지고 있는 클라이언트 컴퓨터의 react-app에 연결할 때도 동일한 문제가 발생했습니다.
다음 단계를 사용했습니다.
문제 이전에 사용된 명령
git init git commit -m "first commit" git branch -M main git remote add origin "_git repository link here_" git push -u origin main
내 실수
하지만 보시다시피 내 실수는 git add .
command 이미 README.md 파일이 있고 GitHub에서 저장소를 생성하는 동안 기본 명령을 알려주기 때문에 이 실수를 했습니다.
내 솔루션
내 솔루션 git add .
를 사용하는 것입니다. git init
명령 후.
문제를 해결하려면 다음 명령 세트를 동일한 순서로 사용하십시오.
git init git add . git commit -m "first commit" git branch -M main git remote add origin "_git repository link here_" git push -u origin main
Aswin Barath"git add" 명령을 잊어버렸을 것입니다. "git init" 명령 후.
Sumer이것은 단지 당신이 초기 커밋을 하는 것을 잊었다는 것을 의미합니다.
git add . git commit -m 'initial commit' git push origin master
xuri- 먼저
git add .
- 둘째,
git commit -m "message"
- 셋째,
git push origin branch
철자 오류도 해당 오류를 줄 수 있으므로 철자 오류를 확인하십시오.
Alwan Mortada나는 또한 다음과 같이 GitHub의 지시를 따랐지만 여전히 OP에서 언급한 것과 동일한 오류에 직면했습니다.
git init git add . git commit -m "message" git remote add origin "github.com/your_repo.git" git push -u origin master
저에게는 이것이 도움이 되었기를 바랍니다. 저는 MacOS (1.58 GB on disk)
위의 제안된 코드 줄을 복사하여 붙여넣는 동안 프로세서가 실제로 add .
프로세스. git commit -m "message"
입력했을 때 기본적으로 파일을 참조하지 않았으며 내 코드를 GitHub에 성공적으로 커밋하는 데 필요한 작업을 완료하지 않았습니다.
이것에 대한 증거는 내가 git status
입력했을 때 일반적으로 추가된 파일에 대해 녹색 글꼴이 표시된다는 것입니다. 그러나 모든 것이 붉었다. 마치 전혀 추가되지 않은 것처럼.
그래서 단계를 다시 했습니다. git add .
입력했습니다. 파일 추가가 완료될 때까지 기다렸습니다. 그런 다음 다음 단계를 수행했습니다.
Gel처음으로 푸시하기 전에 커밋하는 것을 잊었을 때 발생합니다. 그냥 실행:
git commit -m "first commit"
Badr Bellaj현재 상태를 확인하려면 git status
.
다음 단계도 따르십시오.
git init git add . git commit -m "message" git remote add origin "github.com/your_repo.git" git push -u origin master
Dinith아마도 분기가 마스터 대신 메인일 수 있습니다.
노력하다
git push origin HEAD:main
또는 git push origin main
Sankalp Gour실행을 놓쳤을 때도 같은 문제가 발생했습니다.
git add .
(최소 하나의 파일이 있어야 합니다. 그렇지 않으면 오류가 다시 발생합니다.)
neoDev이것은 파일을 추가하고 커밋하고 푸시하는 것을 잊었을 때 발생합니다. 따라서 파일을 커밋한 다음 푸시합니다.
user993563분리된 HEAD 모드에서 작업하는 동안 이 오류가 발생하면 다음을 수행할 수 있습니다.
git push origin HEAD:remote-branch-name
참조: 분리된 헤드에서 Git 푸시 만들기
원격 분기와 다른 로컬 분기에 있는 경우 다음을 수행할 수 있습니다.
git push origin local-branch-name:remote-branch-name
snap짧은 대답: 이 오류는 원격으로 푸시하려는 분기가 존재하지 않음을 의미합니다!
필자의 경우 2020년 10월부터 그 이후 생성된 repos에는 이전 master
브랜치 main
그래서 나는 이것을해야했습니다.
git push -u origin main
- 업스트림이 설정된 경우 -u 플래그를 건너뛸 수 있습니다(이미 복제한 경우와 같이)
빙고! 그것은 나를 위해 일했습니다! 도움이 되기를 바랍니다! 즐거운 코딩!
Deekshith Anand출처 : http:www.stackoverflow.com/questions/4181861/message-src-refspec-master-does-not-match-any-when-pushing-commits-in-git