Programming

힘내 오류 : src refspec 마스터가

procodes 2020. 4. 25. 11:06
반응형

힘내 오류 : src refspec 마스터가


이라는 리포지토리를 만들어야합니다

carboncake

.

나는 이것을 시도했다 :

gitosis-admin 저장소를 로컬 컴퓨터에 복제했습니다.

$ git clone gitosis@myserver.net:repositories/gitosis-admin.git
$ cd gitosis-admin
$ vim gitosis.conf

파일 끝에

[repo carboncake]

[group carboncake]

섹션을 추가했습니다.

[gitosis]

[group team]
writable = sweepshots
members = git_id_rsa

[group gitosis-admin]
writable = gitosis-admin
members = git_id_rsa

[repo carboncake]
description = A brand new app by Mithun.
owner = Mithun P

[group carboncake]
writable = myappname
members = mithun @core

그런 다음 Putty가 생성 한 펍 키 파일을 복사했습니다 (Windows 용 Git basg를 사용하고 있습니다).

$cp /some/where/mithun.pub keydir/mithun.pub

다음 명령을 실행했습니다 :

$ git add gitosis.conf keydir/mithun.pub
$ git commit -m "Added 'carboncake' repository and 'mithun' user."

$ git pull --rebase
$ git push

그러나 내 서버에는 carboncake.git을 만들지 않습니다.

그래서 나는 이것을 따랐다.

서버에서 다음 명령을 실행했습니다.

$ su gitosis 
$ git init --bare /srv/gitosis/repositories/carboncake.git

내 문제는 다음과 같습니다.

로컬 컴퓨터에서 새 리포지토리를 체크 아웃 / 복제하려고했습니다.

$ mkdir carboncake
$ cd carboncake
$ git init 
$ touch a_text_file.txt 
$ git add a_text_file.txt 
$ git remote add origin gitosis@myserver.net:repositories/carboncake.git
$ 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 'gitosis@myserver.net:repositories/carboncake.git'

내가 시도했을 때

git push origin HEAD:master

오류가 발생했습니다.

error: src refspec HEAD does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'gitosis@myserver.net:repositories/carboncake.git'

내가 시도했을 때

git push origin master:refs/heads/master

오류가 발생했습니다.

error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'gitosis@myserver.net:repositories/carboncake.git'

git show-ref

로컬 컴퓨터에서 아무것도 표시되지 않습니다또한

/srv/gitosis/repositories/carboncake.git/refs/heads/

서버의 디렉토리가 비어 있습니다.이 문제를 어떻게 해결할 수 있습니까?


새 저장소를 작성하고 색인에 일부 파일을 추가했지만 아직 첫 번째 커미트를 작성하지 않았습니다. 완료 후 :

 git add a_text_file.txt 

... 하다:

 git commit -m "Initial commit."

... 그리고 그 오류는 사라질 것입니다.


빠른 답변 : 빈 git 저장소를 처음 성공적으로 복제하면 원본에 마스터 분기가 없습니다. 따라서 처음으로 푸시하겠다고 약속하면 다음을 수행해야합니다.

git push origin master

이 새로운 마스터 브랜치를 만들 것입니다. 이와 같은 작은 것들이 git과 매우 혼동됩니다.이렇게해도 문제가 해결되지 않으면 아마도 gitolite 관련 문제 일 수 있습니다.conf 파일이 이상하게 보입니다. gitolite와 함께 제공되는 예제 conf 파일이 있어야합니다. 광산은 다음과 같습니다.

repo    phonegap                                                                                                                                                                           
    RW+     =   myusername otherusername                                                                                                                                               

repo    gitolite-admin                                                                                                                                                                         
    RW+     =   myusername                                                                                                                                                               

conf 파일을 올바르게 설정했는지 확인하십시오.Gitolite는 실제로 gitolite 사용자 계정을 대화식 터미널 세션을 허용하지 않는 수정 된 셸로 바꿉니다. gitolite 사용자 계정을 사용하여 상자에 ssh를 시도하여 gitolite가 작동하는지 확인할 수 있습니다. 사용자가 누구인지 아는 경우 "Hi XYZ, 다음과 같은 저장소에 액세스 할 수 있습니다 : X, Y, Z"연결을 닫으십시오. 모르는 경우 연결을 닫습니다.마지막으로, 로컬 머신에서 첫 번째 git push가 실패한 후에는 서버에서 수동으로 repo를 작성해서는 안됩니다. 왜 git push가 처음에 실패했는지 알아야합니다. gitolite를 설정 한 후에 독점적으로 사용하지 않으면 자신과 gitolite가 더 혼란 스러울 수 있습니다.참고 URL :

https://stackoverflow.com/questions/5802426/git-error-src-refspec-master-does-not-match-any

반응형