Git clone de ssh référentiel - changement de la machine sur le réseau distant avant d'exécuter la commande clone
Je voudrais cloner un dépôt git de mes serveurs pour mon ordinateur personnel. Le seul moyen pour accéder à ces serveurs à partir de "l'extérieur" est en se connectant par ssh à "machine1'
ssh [email protected]
Malheureusement, git ist n'est pas installé sur cette machine. Ainsi, un git clone comme
git clone ssh://[email protected]/path/to/repo <local-repo-path>
ne fonctionne pas. Ce que j'aurais à faire est de passer à une autre machine "machine2" où git est installé après avoir connecté au réseau par l'intermédiaire du 'machine1'. Donc, pour obtenir le clone de travail que j'aurais à exécuter une commande comme
ssh machine2
avant l'exécution de la commande git. Est-il possible de faire cela? Quelque chose comme un pré-clone crochet peut-être?
Est-il possible de faire en quelque sorte pack le référentiel distant dans un fichier (patch?), copier ce fichier sur l'ordinateur local et à cloner à partir de ce fichier?
Impatience vos conseils et suggestions!
OriginalL'auteur Deve | 2011-01-22
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire en configurant un ssh proxy commande. Note: ceci suppose netcat est disponible sur le serveur proxy, vous pouvez remplacer netcat avec un même script en perl ou quoi que si nécessaire.
Ajouter les éléments suivants à votre
~/.ssh/config
, le créer si nécessaire:Maintenant, vous pouvez
ssh machine2
et il sera automatiquement tunnel à travers la machine1. Cela signifie que l'utilisation de git est aussi simple quegit clone ssh://machine2/path
.Il est également possible de combiner le référentiel dans un seul fichier, à l'aide de la
git bundle
de commande. Cela ne devrait pas être nécessaire avec une bonne ssh proxy configuration.La seule exigence est que vous mettez ensemble un simple programme qui vais le relais à partir de stdin/stdout pour certains arbitraire à distance de l'hôte; vous pouvez probablement jeter ensemble un simple script dans quels que soient les langages de script sont disponibles là-bas, ou de compiler netcat ou socat ou quelque chose et de le placer dans votre répertoire home
Ok, je vois ce que tu veux dire. Semble comme un défi pour moi, mais je vais essayer de mon mieux. Merci encore!
OriginalL'auteur bdonlan