2012-07-20 66 views
8

我有我的本地机器上的一个项目,我一直独自工作,我想推送到远程服务器(运行Ubuntu &的gitosis)GIT推新项目首次

在远程服务器我做

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 [email protected]:psdemo.git 

现在:当我尝试推,将发生以下情况

git push origin master 
fatal: 'psdemo.git' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

这是有道理的方法,因为我只是一个空混帐回购协议。

如何将我的文件推送到此远程服务器?我想我需要的是从本地机器克隆到远程机器,不知何故?

回答

7

字符串

[email protected]:psdemo.git 

应该是一个有效的ssh路径。至于我在前面行看到:

git init 
Initialized empty Git repository in /home/stefan/.git/ 

您在/ home /斯特凡创建一个存储库/所以我希望是这样的:

[email protected]:~ 

,不过也许它不是”你想要什么。您应该在远程服务器的家中创建一个文件夹psdemo.git。对于这一点,做一个

git init --bare ~/psdemo.git 

在这,然后用添加远程:

[email protected]:~/psdemo.git 

那么你应该能够推动!

1

远程存储库的路径可能不完整。而不是psdemo.git,尝试像/home/stefan/.git/之类的东西,然后再试一次。

1

看看Initialized empty Git repository in /home/stefan/.git/部分,您的远程repo不是psdemo.git,而是/ home/stefan(或者可能是/home/stefan/.git会起作用)。

顺便说一句:你通常在遥控器上使用裸存储器(git init --bare),以便他们在那里没有工作副本。

3

您无法将空项目推送到上游。您必须通过git add添加一些文件,并使用git commit在本地进行提交。只有在此之后,您才能将更改推向上游。

确保远程存储库可以接受提交。

1

通过这样的:在/home/stefan/.git/

初始化空Git仓库

它看起来像你的远程服务器作为存储库上启动你的主目录。

但这:

git的远程添加原产[email protected]:psdemo.git

是增加你的${HOME}/psdemo.git作为远程URL。这不匹配,这就是为什么你会得到错误。

在遥控器上尝试git init /home/stefan/psdemo.git