47

我在我的台式机(Windows 7)上创建了一个 Git 存储库,其中包含:

git init
git add <all my files>
git commit -m "added my files"

现在,我在局域网的一台机器上安装了一个新的 Ubuntu Server 10.10 并安装了 OpenSSH。我的主目录是/home/jonas,我创建了一个目录~/code/来包含我的项目。我可以使用 Putty 从 Windows 7 登录到 Ubuntu 服务器。

我在服务器上安装了 Gitsudo apt-get install git

添加远程存储库

现在我想将我桌面上的 Git 存储库添加到服务器。我尝试按照Pragmatic Version Control Using Git的说明进行操作。

从我的桌面我运行这些命令:

git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git
git push origin master

但我收到了这个错误信息:

fatal: 'jonas@192.168.1.180/home/jonas/code/myproject.git' does not appear to be
 a git repository
fatal: The remote end hung up unexpectedly

问题是什么?如何创建远程存储库?


正如 PerfectlyNormal 建议的那样,我:在地址中添加了一个。现在它工作得更好了,我不得不在服务器上输入我的密码,但后来我收到了类似的错误消息:

fatal: '/home/jonas/code/myproject.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我必须先在服务器上初始化一个 Git 存储库 git push吗?

4

7 回答 7

46
git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git

使用 SSH 时,远程存储库地址可以用两种方式表示。一种使用绝对路径,一种使用来自用户主目录的相对路径。你把它们混在一起了。

更正的命令将是以下命令之一。

git remote add origin jonas@192.168.1.10:code/myproject.git
git remote add origin ssh://jonas@192.168.1.10/home/jonas/code/myproject.git
于 2011-02-27T23:18:12.307 回答
32

您是否在远程服务器上设置了存储库?你需要跑

mkdir -p /home/jonas/code/myproject.git
cd /home/jonas/code/myproject.git
git init --bare

在服务器上进行设置。我建议在免费的ProGit book中查看如何设置 git 服务器。

于 2011-02-27T22:23:06.683 回答
8

我注意到的第一件事是你缺少一个':'。应该git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git

于 2011-02-27T22:17:16.547 回答
3

我通常在本地创建一个裸存储库,然后在设置远程存储库时将该存储库 scp 到服务器。

例如,

cd c:\gits
git clone --bare c:\path\to\local\repository\some_project

它创建了 some_project.git。

然后,

scp -r some_project.git login@some.server:/path/to/remote/gits/.

输入您的密码,或者您可能已经有公钥/私钥访问权限。

于 2014-03-13T00:00:04.183 回答
2

你需要一个冒号:

git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git

应该:

git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git
于 2011-02-27T22:18:11.063 回答
0

看看Eike Kettner 方便脚本git-create.bash。给它你首选的远程地址 ( ),它会自动 SSH 来创建目录并为你初始化一个空的存储库。您需要做的就是添加and 。jonas@192.168.1.10:code/myproject.git--baregit remotegit push

git-create.bash: 通过 ssh 创建新的空远程 git 存储库

用法:

git-create.bash 'jonas@192.168.1.10:code/myproject.git'
git remote add origin 'jonas@192.168.1.10:code/myproject.git'
git push -u origin master
于 2016-10-06T16:56:42.227 回答
0

连接您的本地存储库。到 Git 远程服务器 Ubuntu

在远程服务器中创建一个用户并ssh-keygen 在本地服务器中分配 ssh 访问权限并将其文件粘贴.pub到远程服务器的 ssh。

远程服务器上要做的事情

服务器 :XX.XXX.1XX.XX

Putty 命令行内部

  1. 转到位置:cd ~/srv/git根目录中的 srv

  2. 创建一个文件夹: mkdir your_file_name 后跟 cd 在你的 git 文件夹内的文件中

  3. 在那里初始化 git: git init --bare

       Done
    

在本地机器上做的事情

  1. 创建您的存储库..

  2. 初始化 Git:git init

  3. 创建远程连接:git remote add origin git@xx.xxx.xxx.xxx:/srv/git/your_file_name

  4. 混帐推。

        Done
    

如果您遇到任何问题,请参阅:https ://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server 。

于 2018-10-16T13:21:58.910 回答