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
?
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.
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
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
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.
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
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