Comment ajouter un dépôt Git distant à un serveur Ubuntu?

j'ai créé un dépôt Git sur ma machine de bureau (Windows 7) avec:

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

maintenant j'ai installé un nouveau serveur Ubuntu 10.10 sur une machine sur mon LAN et installé OpenSSH. Mon répertoire home est /home/jonas et j'ai créé un répertoire ~/code/ pour contenir mes projets. Je peux me connecter au serveur Ubuntu à partir de Windows 7 avec Putty.

j'ai installé Git sur le serveur sudo apt-get install git

Ajout d'un dépôt distant

Maintenant je veux ajouter mon dépôt Git sur mon bureau vers le serveur. J'ai essayé de suivre les instructions de Pragmatique De Contrôle De Version Avec Git.

à Partir de mon Bureau, je exécutez ces commandes:

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

Mais j'obtiens ce message d'erreur:

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

Quel est le problème? Comment créer le dépôt distant?


comme PerfectlyNormal suggéré, j'ai ajouté un : dans l'adresse. Maintenant, c'était mieux, et j'ai dû taper mon mot de passe pour le serveur, mais j'ai eu un message d'erreur similaire:

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

dois-je initialiser un dépôt Git sur le serveur avant de pouvoir git push?

38
demandé sur Jonas 2011-02-28 01:12:49

6 réponses

avez-vous configuré le dépôt sur le serveur distant? Vous devez exécuter

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

sur le serveur afin de le configurer. Je recommande de jeter un oeil à la façon de configurer un serveur git dans le free ProGit book.

30
répondu Andrew Marshall 2013-12-28 01:15:22
git remote add origin jonas@192.168.1.10/home/jonas/code/myproject.git

lors de l'utilisation de SSH, les adresses des dépôts distants peuvent être exprimées de deux façons. L'un utilise des chemins absolus et l'autre utilise des chemins relatifs à partir du répertoire d'accueil des utilisateurs. Vous avez mélangé.

la commande corrigée serait l'une des suivantes.

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
40
répondu Arrowmaster 2011-02-27 23:31:46

La première chose que je remarque est que vous manquez un ':'. Doit être git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git

8
répondu PerfectlyNormal 2011-02-27 22:17:16

je crée normalement un dépôt nu localement, puis je scp ce dépôt sur le serveur lorsque je mets en place un dépôt distant.

Par exemple,

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

qui crée un_project.Git.

Ensuite,

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

entrez votre mot de passe ou peut-être avez-vous déjà accès aux clés publiques/privées de travail.

3
répondu Keith John Hutchison 2017-04-19 08:50:36

vous avez besoin d'un colon:

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

devrait être:

git remote add origin jonas@192.168.1.10:/home/jonas/code/myproject.git
2
répondu Dan D. 2011-02-27 22:18:11

regardez la pratique script git-create.bash par Eike Kettner . Donner votre préféré adresse distante (jonas@192.168.1.10:code/myproject.git), et il va automatiquement SSH in pour créer le répertoire et initialiser un < empty!--3--> référentiel pour vous. Tout ce que vous devez faire est d'ajouter le git remote et git push.

git-create.bash: Créer un nouveau vide dépôts git distant via ssh

Utilisation:

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
0
répondu Joel Purra 2016-10-06 16:56:42