78 votes

Comment tirer du dépôt d'un autre ordinateur dans Git ?

Par exemple, j'ai cloné le référentiel d'origine sur deux ordinateurs. Ensuite, j'effectue quelques modifications et je commets sur le référentiel local de l'ordinateur A. Comment puis-je maintenant transférer ces modifications sur l'ordinateur B ? Les ordinateurs A et B sont tous deux connectés à un réseau.

Ce que je recherche, c'est l'équivalent de quelqu'un qui crée manuellement un correctif et me l'envoie, que je peux appliquer à ma copie de travail/référentiel local.

4 votes

Ce n'est pas vraiment un dépôt local s'il se trouve sur un autre ordinateur, à mon avis : d'où la remarque d'@Antoine réponse correspond mieux au titre de votre question

0 votes

Tandis que celle de @Amber réponse correspond aux détails explicatifs de la narration de votre question.

1 votes

J'aimerais que cette question ait une réponse Windows

112voto

Amber Points 159296

Si la machine que vous voulez extraire est accessible par l'intermédiaire de ssh vous pouvez ajouter le dépôt sur celui-ci comme un dépôt distant via ssh, et ensuite l'extraire comme vous le feriez avec n'importe quel dépôt distant :

$ git remote add repo_b username@host:path/to/repository.git
$ git pull repo_b master

(Vous pouvez sauter l'étape d'ajout d'une télécommande et simplement spécifier l'URL complète dans le champ git pull au lieu d'un nom distant, mais si vous allez tirer du dépôt sur une base régulière, l'ajouter en tant que distant vous épargnera beaucoup de saisie).

1 votes

Et qu'en est-il du push de l'ordinateur_b ? L'ordinateur_b va-t-il pousser les changements comme d'habitude ? "git push" ?

15 votes

Pour un repo local, vous pouvez utiliser la même chose, mais configurer le chemin distant comme suit file:///local/path/to/repo/.git/

2 votes

Cela ne fonctionne pas pour moi, l'URL doit être /path/to/repository/.git/ .

35voto

Antoine Pelisse Points 5067

Jetez un coup d'œil à git pull --help

Cela donnerait quelque chose comme git pull /my/other/repository

7 votes

Plus précisément, en vertu de l'article URLS GIT Pour les dépôts locaux, également pris en charge par git en mode natif, les syntaxes suivantes peuvent être utilisées : /path/to/repo.git/ , file:///path/to/repo.git/ "

11voto

Matthew Flaschen Points 131723

Vous pouvez configurer un serveur réel avec démon git . Sinon, vous pouvez utiliser bundle git qui regroupe la représentation interne de git dans un fichier qui peut être dégroupé à l'aide de la commande git pull à l'autre bout.

Par exemple, à partir de la documentation git, tout regrouper :

git bundle create file.bundle master

Ensuite, de l'autre côté, vous pouvez faire quelque chose comme :

git pull file.bundle HEAD

7voto

Benoit Courtine Points 4484

Si vous pouvez vous connecter à l'ordinateur B par ssh, vous pouvez utiliser :

git clone user@host:/path/to/repo

Il permettra le suivi à distance via cette connexion ssh, et vous permettra d'utiliser git pull/push.

2voto

McQuade Points 1

Cela a fonctionné pour moi pour un dépôt local avec un autre ordinateur :

git remote add origin_username username@10.0.0.2:/home/username/dev/project/main/.git/

git pull origin_username master

o

git pull origin_username some_branch

0 votes

Vous pouvez lister toutes les branches distantes en utilisant : git ls-remote origin_username

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X