programing

Git 오류: src refspec 마스터가 일치하지 않습니다.

bestprogram 2023. 5. 17. 23:32

Git 오류: 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에서 생성한 pub 키 파일을 복사했습니다(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

그러나 My Server에는 카본케이크.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 push origin master

그러면 이 새 마스터 분기가 만들어집니다.이와 같은 작은 것들은 깃과 매우 혼동됩니다.

이것이 당신의 문제를 해결하지 못했다면 아마도 기토라이트와 관련된 문제일 것입니다.

당신의 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가 처음에 실패한 이유를 알아야 합니다.일단 설정한 기토라이트를 독점적으로 사용하지 않으면 자신과 기토라이트를 더 혼란스럽게 만들 수 있습니다.

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