web-dev-qa-db-fra.com

Comment ajouter un référentiel Git distant sur un serveur Ubuntu?

J'ai créé un référentiel Git sur mon ordinateur 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 de mon réseau local et OpenSSH. Mon répertoire personnel 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 avec Sudo apt-get install git

Ajout d'un référentiel distant

Maintenant, je veux ajouter mon référentiel Git sur mon bureau au serveur. J'ai essayé de suivre les instructions de Pragmatic Version Control en utilisant Git.

Depuis mon bureau, j'exécute ces commandes:

git remote add Origin [email protected]/home/jonas/code/myproject.git
git Push Origin master

Mais j'ai eu ce message d'erreur:

fatal: '[email protected]/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 référentiel distant?


Comme suggéré par PerfectlyNormal, j'ai ajouté un : dans l'adresse. Maintenant, cela fonctionnait mieux et je devais taper mon mot de passe sur le serveur, mais j'ai reçu 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 référentiel Git sur le serveur avant de pouvoir git Push?

41
Jonas

Avez-vous configuré le référentiel sur le serveur distant? Vous devez courir

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 regarder comment installer un serveur git dans le livre free ProGit .

31
Andrew Marshall
git remote add Origin [email protected]/home/jonas/code/myproject.git

Lors de l'utilisation de SSH, les adresses de référentiel distant peuvent être exprimées de deux manières. L'une utilisant des chemins absolus et l'autre des chemins relatifs du répertoire de base des utilisateurs. Vous les avez mélangés.

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

git remote add Origin [email protected]:code/myproject.git
git remote add Origin ssh://[email protected]/home/jonas/code/myproject.git
42
Arrowmaster

La première chose que je remarque est que vous manquez un ':'. Devrait être git remote add Origin [email protected]:/home/jonas/code/myproject.git

8
PerfectlyNormal

Je crée normalement un référentiel nu localement, puis scp ce référentiel sur le serveur lorsque je configure un référentiel distant.

Par exemple,

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

ce qui crée some_project.git.

Ensuite,

scp -r some_project.git [email protected]:/path/to/remote/gits/.

entrez votre mot de passe ou peut-être avez-vous déjà un accès par clé publique/privée.

3

vous avez besoin d'un colon:

git remote add Origin [email protected]/home/jonas/code/myproject.git

devrait être:

git remote add Origin [email protected]:/home/jonas/code/myproject.git
2
Dan D.

Jetez un coup d’œil à le script pratique git-create.bash de Eike Kettner . Donnez-lui votre adresse distante préférée ([email protected]:code/myproject.git) et il entrera automatiquement en SSH pour créer le répertoire et initialiser un référentiel --bare vide pour vous. Tout ce que vous avez à faire est d’ajouter les git remote et git Push.

git-create.bash : Créer un nouveau référentiel git distant vide via ssh

Usage:

git-create.bash '[email protected]:code/myproject.git'
git remote add Origin '[email protected]:code/myproject.git'
git Push -u Origin master
0
Joel Purra

Connecter votre dépôt local. sur le serveur distant Git Ubuntu

Créez un utilisateur sur le serveur distant et attribuez une autorisation d'accès ssh à l'aide de ssh-keygen dans votre serveur local et collez son fichier .pub dans ssh de la télécommande serveur.

Que faire sur un serveur distant

Serveur: XX.XXX.1XX.XX

Dans la ligne de commande de PuTTY

  1. Allez à l'emplacement: cd ~/srv/git srv dans votre répertoire racine

  2. Créez un dossier: mkdir votre_nom_fichier suivi de cd dans votre fichier dans votre dossier git

  3. initialiser git ici: git init --bare 

       Done
    

Choses à faire sur la machine locale

  1. créez votre référentiel ..

  2. initialisation de Git: git init

  3. Créez la connexion à distance: git remote add Origin [email protected]:/srv/git/your_file_name

  4. git Push.

        Done
    

_ {Si vous êtes bloqué par un point, consultez: https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server .

0
KRIPA SHANKAR JHA