在创建新的git存储库并将其推送到基于ssh的git服务器时,我很困惑。
我做了什么:
mkdir knowledge_base
cd knowledge_base
git init
(创建一些文件)
git add <some files>
git commit -m 'initial'
直到这里一切都很完美
现在做了:
git remote add origin ssh://gitzfrdh@ex/home/gitzfrdh/gitrepos/knowledge_base
git push --set-upstream origin master
错误:
致命:&#39; / home / gitzfrdh / gitrepos / knowledge_base&#39;似乎不是一个git存储库 致命的:无法从远程存储库读取。
请确保您拥有正确的访问权限 存储库存在。
是的,我知道回购不存在。我的想法是推动这个新的。
我必须首先在服务器端创建一个裸仓库吗?
编辑: 如果我在服务器上执行:
mkdir knowledge_base
cd knowledge_base/
git init --bare
再次在客户端上:
git push --set-upstream origin master
一切正常。
但我认为不打算在服务器上完全过剩?我错了?
我已经读过了 Pushing new files in a new repository Git New git repository error on first push
答案 0 :(得分:1)
命令正确;但是,远程地址也必须指向初始化的Git存储库。虽然这是一次性的工作,但
ssh user@host "git init --bare /your/project/git/my-project.git"
答案 1 :(得分:0)
您需要在服务器上创建一个裸git repo,以便客户端git repo可以推送到哪里。
从您的示例中,add remote告诉客户端将其repo更改推送到哪里,并期望服务器上有一个与添加的远程匹配的repo。