我在桌面计算机(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服务器。
我使用sudo apt-get install git
现在我想在我的桌面上将我的Git存储库添加到服务器。我尝试按照使用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
吗?
答案 0 :(得分:42)
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
答案 1 :(得分:31)
您是否在远程服务器上设置了存储库?你需要运行
mkdir -p /home/jonas/code/myproject.git
cd /home/jonas/code/myproject.git
git init --bare
在服务器上以进行设置。我建议您看看如何使用免费ProGit book设置git服务器。
答案 2 :(得分:8)
我注意到的第一件事是你错过了':'。应为git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git
答案 3 :(得分: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/.
输入您的密码,或者您已经可以使用公钥/私钥访问。
答案 4 :(得分: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
答案 5 :(得分:0)
the handy script git-create.bash
查看Eike Kettner
。为它提供首选的远程地址(jonas@192.168.1.10:code/myproject.git
),它将自动SSH并创建目录并为您初始化一个空的--bare
存储库。您只需添加git remote
和git push
。
创建新的空远程git存储库
git-create.bash
:通过ssh
用法:
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
答案 6 :(得分:0)
连接本地存储库。到Git远程服务器Ubuntu
在远程服务器中创建一个用户,并使用
ssh-keygen
分配ssh访问权限 在本地服务器中并将其.pub
文件粘贴到远程服务器的ssh 服务器。
在远程服务器上要做的事情
服务器:XX.XXX.1XX.XX
内部腻子命令行
转到位置:您根目录中的cd ~/srv/git
srv
创建一个文件夹:mkdir your_file_name,后跟cd进入文件 git文件夹内
在那里初始化git:git init --bare
Done
在本地计算机上要做的事情
创建您的存储库..
初始化Git:git init
创建远程连接:git remote add origin git@xx.xxx.xxx.xxx:/srv/git/your_file_name
git push。
Done
如果遇到任何问题,请参考:https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server。