无法推出新的回购

时间:2016-06-18 13:20:47

标签: git ssh

在创建新的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

2 个答案:

答案 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。