web-dev-qa-db-fra.com

Comment se connecter à un référentiel Git distant?

Je travaille avec une équipe et nous voulons utiliser Git (pas avec GitHub, nous avons une machine distante privée). Nous utilisions SVN jusqu'à maintenant. Nous avons une machine distante qui fonctionne comme un référentiel SVN. Maintenant, nous voulons faire de cette machine le dépôt central Git. D'après ce que j'ai lu, ce que tout le monde doit faire sur ses machines, c'est d'installer Git et d'utiliser la commande suivante pour ajouter le référentiel maître distant:

git remote add Origin <remote_repo_url>

Mais quel est le remote_repo_url? Comment puis-je le comprendre? Notre ordinateur distant a des adresses IP comme 189.14.666.666. Sur l'ordinateur distant, j'ai installé Git et créé un référentiel sous C:\MY_GIT_REPOSITORY. Que dois-je mettre dans l'URL dans les machines locales?

17
Mateus Viccari

Maintenant, si le référentiel existe déjà sur une machine distante et que vous n’avez rien localement, vous ferez plutôt un clone.

Le format de l’URL est simple, c’est PROTOCOL:/[utilisateur @] remoteMachineAddress/path/to/repository.git

Par exemple, le clonage d'un référentiel sur une machine sur laquelle vous avez un accès SSH à l'aide de l'utilisateur "dev", résidant dans /srv/repositories/awesomeproject.git et dont la machine a l'ip 10.11.12.13:

git clone ssh://[email protected]/srv/repositories/awesomeproject.git
19
DusteD

C'est simple et suivez les petites étapes pour procéder:

  • Installez git sur le serveur distant, par exemple une instance ec2
  • Maintenant, créez un dossier de projet `$ mkdir project.git
  • $cd project and execute $git init --bare

Disons que ce dossier project.git est présent sur votre IP avec l'adresse à l'intérieur home_folder/workspace/project.git, forex- ec2 - /home/ubuntu/workspace/project.git

Maintenant, dans votre ordinateur local, $cd dans le dossier du projet que vous souhaitez utiliser pour exécuter les commandes ci-dessous:

  • git init .

  • git remote add Origin [email protected]:/home/ubuntu/workspace/project.git

  • git add .
  • git commit -m "Initial commit"

Vous trouverez ci-dessous une commande facultative, mais elle a été suggérée, car je travaillais à installer la même chose.

git config --global remote.Origin.receivepack "git receive-pack"

  • git pull Origin master
  • git Push Origin master

Cela devrait fonctionner correctement et pousser le code local dans le référentiel git distant.

Pour vérifier l'URL de récupération à distance, cd project_folder/.git et cat config, cela donnera l'URL distante utilisée pour les opérations de traction et de poussée.

Vous pouvez également utiliser un autre moyen, après avoir créé le fichier project.git dossier sur git, clonez le projet et copiez tout le contenu dans ce dossier. Commettez les changements et cela devrait être la même chose. Pendant le clonage, assurez-vous que vous avez un accès ou que la clé en cours est la clé secrète du serveur distant utilisé pour le déploiement.

26
Bijendra

Comme tu as dis remote_repo_url est bien l’adresse IP du serveur, et oui, il faut l’ajouter sur chaque PC, mais il est plus facile de comprendre si vous créez le serveur d’abord, puis demandez à chacun de le cloner.

Il existe plusieurs façons de se connecter au serveur. Vous pouvez utiliser ssh, http ou même un lecteur réseau, chacun ayant ses avantages et ses inconvénients. Vous pouvez vous référer à la documentation à propos des protocoles et de la connexion au serveur.

Vous pouvez consulter le reste de chapitre 4 pour des informations plus détaillées, car il est question de la configuration de votre propre serveur.

1
Mohammad AbuShady

Pour moi, le moyen le plus simple d’exposer votre référentiel git sur le serveur (qui semble être une machine Windows) consiste à le partager en tant que ressource réseau.

Cliquez avec le bouton droit sur le dossier "MY_GIT_REPOSITORY" et sélectionnez "Partage". Cela vous donnera la possibilité de partager votre référentiel git en tant que ressource réseau sur votre réseau local. Assurez-vous de donner aux utilisateurs appropriés la possibilité d'écrire sur ce partage (vous en aurez besoin lorsque vous et vos collègues aurez accès au référentiel).

L’URL de la télécommande que vous souhaitez configurer finira probablement par ressembler à quelque chose comme file://\\\\189.14.666.666\MY_GIT_REPOSITORY

Si vous souhaitez utiliser un autre protocole (HTTP, SSH, par exemple), vous devrez installer un logiciel serveur supplémentaire comprenant des serveurs pour ces protocoles. Au lieu de cela, la méthode de partage de fichiers est probablement la plus simple dans votre cas en ce moment.

1
Arenhag