我的本地机器上有一个项目,我一直在单独工作,我想推送到远程服务器(运行ubuntu& gitosis)
在远程服务器上我做了
git init
Initialized empty Git repository in /home/stefan/.git/
本地git status
说
git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .DS_Store
# .travis.yml
# license.txt
# nbproject/
# bla/.DS_Store
# bla/cache/
nothing added to commit but untracked files present (use "git add" to track)
我也做过
git remote add origin dev@123.456.xx.xxx:psdemo.git
现在:当我尝试推动时,会发生以下情况
git push origin master
fatal: 'psdemo.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
这是有道理的,因为我只有一个空的git repo。
如何将文件推送到此远程服务器?我想我需要的是从我的本地机器克隆到远程机器,不知何故?
答案 0 :(得分:7)
字符串
dev@123.456.xx.xxx:psdemo.git
应该是有效的ssh路径。据我在前一行中看到的那样:
git init Initialized empty Git repository in /home/stefan/.git/
你在/ home / stefan /中创建了一个存储库,所以我希望会有类似的东西:
stefan@123.456.xx.xxx:~
但可能不是你想要的。您应该在远程服务器的主页中创建一个文件夹psdemo.git
。为此,请执行
git init --bare ~/psdemo.git
在那里然后添加遥控器:
stefan@123.456.xx.xxx:~/psdemo.git
然后你应该能够推!
答案 1 :(得分:3)
您无法将空项目推送到上游。您必须通过git add
添加一些文件,然后使用git commit
在本地提交它们。只有在此之后,您才能将更改推送到上游。
确保远程存储库可以接受提交。
答案 2 :(得分:1)
远程存储库的路径可能不完整。而不是psdemo.git
,请尝试/home/stefan/.git/
之类的内容,然后再试一次。
答案 3 :(得分:1)
查看Initialized empty Git repository in /home/stefan/.git/
部分,您的远程仓库不是psdemo.git,而是/ home / stefan(或者/home/stefan/.git可能有效)。
BTW:你通常在遥控器上使用裸存储库(git init --bare
),这样他们就没有工作副本了。
答案 4 :(得分:1)
由此:
/home/stefan/.git /
中初始化的空Git存储库
看起来您将远程服务器上的主目录初始化为存储库。
但是这个:
git remote add origin dev@123.456.xx.xxx:psdemo.git
正在添加${HOME}/psdemo.git
作为远程网址。这不匹配,这就是你得到错误的原因。
尝试遥控器上的git init /home/stefan/psdemo.git
。