How do I add a remote Git repository to an Ubuntu Server?

a 夏天 提交于 2019-12-03 01:02:31

问题


I have created a Git repository on my Desktop machine (Windows 7) with:

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

Now I have installed a new Ubuntu Server 10.10 on a machine on my LAN and installed OpenSSH. My home directory is /home/jonas and I created a directory ~/code/ to contain my projects. I can log in to the Ubuntu Server from Windows 7 with Putty.

I installed Git on the server with sudo apt-get install git

Adding a remote repository

Now I want to add my Git repository on my Desktop to the Server. I tried to follow the instructions from Pragmatic Version Control Using Git.

From my Desktop I run these commands:

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

But I got this error message:

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

What is the problem? How do I create the remote repository?


As PerfectlyNormal suggested, I added a : in the address. Now it worked better, and I had to type my password to the server, but then I got a similar error message:

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

Do I have to initialize a Git repository on the server before I can git push to it?


回答1:


Did you setup the repository on the remote server? You need to run

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

on the server in order to set it up. I recommend taking a look at how to setup a git server in the free ProGit book.




回答2:


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

When using SSH, remote repository addresses can be expressed in two ways. One using absolute paths and one using relative paths from the users home directory. You've mixed them up.

The corrected command would be one of the following.

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



回答3:


First thing I notice is that you're missing a ':'. Should be git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git




回答4:


I normally create a bare repository locally and then scp that repository to the server when I'm setting up a remote repository.

For example,

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

which creates some_project.git.

Then,

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

enter your password or maybe you already have public/private key access working.




回答5:


you need a colon:

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

should be:

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



回答6:


Have a look at the handy script git-create.bash by Eike Kettner . Give it your preferred remote address (jonas@192.168.1.10:code/myproject.git), and it will automatically SSH in to create the directory and initialize an empty --bare repository for you. All you need to do is add the git remote and git push.

git-create.bash: Create new empty remote git repository via ssh

Usage:

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



回答7:


Connecting your Local Repo. to Git Remote Server Ubuntu

Create a User in remote server and assign permission for ssh access using ssh-keygen in your local server and paste, its .pub file to ssh of the remote server.

Things to do on remote Server

Server : XX.XXX.1XX.XX

Inside Putty command line

  1. Go to location : cd ~/srv/git srv in your root directory

  2. Make a folder : mkdir your_file_name followed by cd inside your file inside your git folder

  3. initialize git there : git init --bare

       Done
    

Things to do On Local Machine

  1. create your repository ..

  2. initializing Git: git init

  3. Create the remote connection : git remote add origin git@xx.xxx.xxx.xxx:/srv/git/your_file_name

  4. git push.

        Done
    

If you got stuck any point refer :https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server.



来源:https://stackoverflow.com/questions/5136381/how-do-i-add-a-remote-git-repository-to-an-ubuntu-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!