Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将远程Git存储库添加到Ubuntu服务器?_Git_Ssh_Repository_Git Remote_Ubuntu Server - Fatal编程技术网

如何将远程Git存储库添加到Ubuntu服务器?

如何将远程Git存储库添加到Ubuntu服务器?,git,ssh,repository,git-remote,ubuntu-server,Git,Ssh,Repository,Git Remote,Ubuntu Server,我已在我的桌面计算机(Windows 7)上创建了一个Git存储库,其中包括: 但我得到了这个错误信息: 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 fatal: '/home/jonas/code/myproject.git' does not appea

我已在我的桌面计算机(Windows 7)上创建了一个Git存储库,其中包括:

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

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
fatal: '/home/jonas/code/myproject.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
有什么问题?如何创建远程存储库?


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

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
fatal: '/home/jonas/code/myproject.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我必须先初始化服务器上的Git存储库,然后才能
Git推送它吗?

我注意到的第一件事是您缺少一个“:”。应该是
git远程添加源jonas@192.168.1.10:/home/jonas/code/myproject.git
您需要一个冒号:

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

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

mkdir -p /home/jonas/code/myproject.git
cd /home/jonas/code/myproject.git
git init --bare
在服务器上进行设置。我建议大家看看如何在免费环境中设置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

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

比如说,

cd c:\gits
git clone --bare c:\path\to\local\repository\some_project
这会创建一些_project.git

那么

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

请通过查看。给它您首选的远程地址(
jonas@192.168.1.10:code/myproject.git
),它将自动通过SSH创建目录,并为您初始化一个空的
--bare
存储库。您只需添加
git-remote
git-push

:通过ssh创建新的空远程git存储库

用法:

git-create.bash'jonas@192.168.1.10:code/myproject.git'
git远程添加源'jonas@192.168.1.10:code/myproject.git'
git-push-u源主机
连接您的本地回购。到Git远程服务器Ubuntu

在远程服务器中创建一个用户,并使用
ssh-keygen
在本地服务器中,将其
.pub
文件粘贴到远程服务器的ssh 服务器

在远程服务器上要做的事情

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

内部Putty命令行

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

  • 制作一个文件夹:mkdir您的文件名,然后是文件中的cdgit文件夹中的cd

  • 在那里初始化git:git init--bare

  • 在本地计算机上执行的操作

  • 创建您的存储库

  • 初始化Git:
    Git init

  • 创建远程连接:
    git-remote-add-origingit@xx.xxx.xxx.xxx:/srv/git/您的文件名

  • 吉特推

        Done
    

  • 如果您遇到任何问题,请参阅:。

    谢谢,这似乎有效。但是如何在服务器上签出项目?如果我做了
    git status
    ,那么我会收到一条消息,我必须在“工作树”上,而你不能。远程存储库必须是裸存储库,不能用于处理。有关更多信息,请参阅。如果您希望能够在服务器上处理repo,您还需要在服务器上的另一个目录中签出存储库,并像在另一台计算机上一样使用它(即,您必须像往常一样拉和推)。@andrew marshall这是真的吗?难道他不能在服务器上使用非裸repo,然后推到
    working dir/.git
    ?显然,这不是一个典型的设置,但不是吗?如果推送到远程存储库上的分支并在远程计算机上签出,这是可能的,但会导致意外的结果。事实上,我认为git的最新版本(1.7+也许?)甚至不允许您这样做。默认情况下,在非裸回购中推送到签出分支是禁用的。您可以在创建的每个非裸回购中更改设置,但这是默认设置,原因非常充分,除非您确切知道自己在做什么,否则您可能根本不应该尝试。这将在远程服务器上创建一个新的存储库,而不必“在那里”。对我来说很好。在Mac电脑上,格式
    jonas@192.168.1.10:code/myproject.git
    工作正常!
    scp -r some_project.git login@some.server:/path/to/remote/gits/.
    
       Done
    
        Done