문제
github.com에 2 개의 지점이있는 공개 저장소가 있습니다. master
그리고 test
.
로컬로 새 디렉토리를 만들었고 다음과 같습니다.
[ ] git clone git@github.com:{username}/{projectname}.git
그런 다음 새 지점을 만들었습니다 my_test
~와 함께
[ ] git branch my_test
그리고 그것으로 전환했습니다.
[ ] git checkout my_test
그런 다음 내에서 병합했습니다 test
내 공개 저장소의 지점
[ ] git merge origin/test
그리고 그것은 빠르게 전달되었습니다.
나는 약간의 변화를 일으켜 그들을 약속했다. 그런 다음 지역을 밀 으려고했습니다 my_test
대중에게 지부 test
Github의 지점
[ ] git push git@github.com:{username}/{projectname}.git test
하지만이 오류가 발생했습니다.
error: src refspec test does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git
내가 뭘 잘못하고 있죠 ?
해결책
아마 시도 :
git push git@github.com:{username}/{projectname}.git HEAD:test
해당 명령 줄의 마지막 매개 변수의 형식은 refspec 이는 콜론과 목적지 Ref. 현지 지점 이름을 사용할 수도 있습니다 (my_test
) 머리 대신에 올바른 지점을 밀고 있습니다.
문서 git push
이 매개 변수에 대해 자세히 설명합니다.
다른 팁
또한 밀고 싶을 때마다 전체 URL을 입력 할 필요가 없습니다. 클론을 실행했을 때 Git은 그 URL을 'Origin'으로 저장했기 때문에 'Origin/Test Merge'와 같은 것을 실행할 수있는 이유입니다. 이는 'Origin'서버의 '테스트'브랜치를 의미합니다. 따라서이 경우 서버로 푸시하는 가장 간단한 방법은 다음과 같습니다.
git push origin my_test:test
로컬 'My_test'브랜치를 '원점'서버의 '테스트'브랜치로 푸시합니다. 로컬 브랜치를 서버의 지점과 동일하게 지명 한 경우 콜론이 필요하지 않으면 간단히 할 수 있습니다.
git push origin test
먼저 커밋하지 않고 새로운 저장소로 푸시하려고하면이 오류가 발생합니다. 노력하다:
git add -A
git commit -am 'Initial commit'
그런 다음 다시 푸시를 시도하십시오.
여기서 당신은 지점 추적을 설정해야한다고 생각합니다. 추적을 활성화하려면 다음을 실행하십시오
git branch --track my_test origin/my_test
테스트합니다
git push -u origin my_test
git pull origin my_test
로컬 저장소의 원격 저장소와 동일한 이름을 가지고 있는지 확인해야합니다.
먼저 "my_test"가 "테스트"가되도록 git branch -m "test"를 사용하여 저장소를 변경하십시오. 둘째, git 푸시 원점 테스트