git push new file to a bare repo failed: "error: src refspec master does not match any." Why?
git push new file to a bare repo failed: "error: src refspec master does not match any." Why?
我正在尝试这个:
mkdir ~/gitremote
cd ~/gitremote
git init --bare
我可以看到像
这样的文件名
HEAD config hooks objects
branches description info refs
OK,那么在另一个目录下,
git clone trosky@localhost:/Users/trosky/gitremote
vi readme (add one line)
git add .
git commit -m "1st file"
git push origin master
然后报错:
$git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'trosy@localhost:/Users/trosky/gitremote'
我搜索了 google,它说这种错误是由于远程仓库上的空文件夹造成的。但是远程仓库不为空,并且我在本地提交了一个也不为空的文件。为什么还是会提示这个错误?
如何解决?谢谢
尝试使用语法:
git push -u origin master
由于您要推送到一个空仓库,因此您需要 explicitly push master
.
否则,default push.policy
being simple
、Git 会在你的远程仓库中寻找一个名为 master
的分支(并且由于你的远程裸仓库是空的,它还没有 master
分支)
当然,您不会在远程裸仓库中看到任何自述文件,因为它是裸仓库:没有工作树。
what's the difference between 'git clone /Users/trosky/gitremoe' and 'git clone 'trosy@localhost:/Users/trosky/gitremote'
一个正在使用也称为 local protocol, the other ssh protocol 的文件协议。您在这里不需要 ssh。
您可以改用 git clone /Users/trosky/gitremote
。
git clone /Users/trosky/gitremote
使用 本地协议 。因为你的remoterepo在你的本地PC上,所以本地协议合适而且速度快。
git clone 'trosy@localhost:/Users/trosky/gitremote'
使用scp传输数据,主要用于不同设备的数据传输。
推送到远程仓库后,您可能会进入远程仓库文件夹但找不到推送的文件。但它确实存在。因为 bare repo 没有工作目录。它存储在 /Users/trosky/gitremote/objects
中。您可以检查 /Users/trosky/gitremote/refs/heads/master
中的提交 SHA-1 是否符合本地仓库。
我正在尝试这个:
mkdir ~/gitremote
cd ~/gitremote
git init --bare
我可以看到像
这样的文件名HEAD config hooks objects
branches description info refs
OK,那么在另一个目录下,
git clone trosky@localhost:/Users/trosky/gitremote
vi readme (add one line)
git add .
git commit -m "1st file"
git push origin master
然后报错:
$git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'trosy@localhost:/Users/trosky/gitremote'
我搜索了 google,它说这种错误是由于远程仓库上的空文件夹造成的。但是远程仓库不为空,并且我在本地提交了一个也不为空的文件。为什么还是会提示这个错误?
如何解决?谢谢
尝试使用语法:
git push -u origin master
由于您要推送到一个空仓库,因此您需要 explicitly push master
.
否则,default push.policy
being simple
、Git 会在你的远程仓库中寻找一个名为 master
的分支(并且由于你的远程裸仓库是空的,它还没有 master
分支)
当然,您不会在远程裸仓库中看到任何自述文件,因为它是裸仓库:没有工作树。
what's the difference between 'git clone /Users/trosky/gitremoe' and 'git clone 'trosy@localhost:/Users/trosky/gitremote'
一个正在使用也称为 local protocol, the other ssh protocol 的文件协议。您在这里不需要 ssh。
您可以改用 git clone /Users/trosky/gitremote
。
git clone /Users/trosky/gitremote
使用 本地协议 。因为你的remoterepo在你的本地PC上,所以本地协议合适而且速度快。
git clone 'trosy@localhost:/Users/trosky/gitremote'
使用scp传输数据,主要用于不同设备的数据传输。
推送到远程仓库后,您可能会进入远程仓库文件夹但找不到推送的文件。但它确实存在。因为 bare repo 没有工作目录。它存储在 /Users/trosky/gitremote/objects
中。您可以检查 /Users/trosky/gitremote/refs/heads/master
中的提交 SHA-1 是否符合本地仓库。