为什么我不能推到这个裸仓库?
你能解释这个工作流程有什么问题吗?
$ git init --bare bare
Initialized empty Git repository in /work/fun/git_experiments/bare/
$ git clone bare alice
Cloning into alice...
done.
warning: You appear to have cloned an empty repository.
$ cd alice/
$ touch a
$ git add a
$ git commit -m "Added a"
[master (root-commit) 70d52d4] Added a
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
$ git push
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to '/work/fun/git_experiments/bare'
git push
不会总是推送到我从克隆的存储库中?
是的,问题是没有“裸露”的提交。 如果您按顺序创建仓库(裸设备,alice),则仅第一次提交时会出现问题。 尝试做:
git push --set-upstream origin master
这只是第一次需要。 之后它应该可以正常工作。
正如克里斯约翰森指出的,如果你的push.default是自定义的,你就不会有这个问题。 我喜欢上游/跟踪。
如果你:
git push origin master
它会推到裸露的回购。
这听起来像你的爱丽丝回购没有正确跟踪。
cat .git/config
这将显示默认的远程和分支。
如果你
git push -u origin master
你应该开始跟踪那个远程和分支。 我不确定这个选项是否一直在git中。
这个相关问题的答案为我提供了解决方案...这只是一个愚蠢的错误:
记得首先提交!
https://stackoverflow.com/a/7572252
如果您还没有提交到您的本地回购协议,那么您无法推送任何内容,但是您收到的Git错误消息不会对您有太大帮助。
链接地址: http://www.djcxy.com/p/48955.html