22 votes

Comment utiliser Git dans un environnement sneakernet ?

Mon projet comporte un certain nombre de PC de test qui sont 100% hors réseau. Nous utilisons une clé USB pour transférer des fichiers depuis et vers ces PC. Certains développements ont lieu pendant les tests sur ces PC. Nous transférons des zips des fichiers mis à jour, avec l'information de version codée dans le nom du fichier zip.

Ma question est de savoir comment utiliser au mieux Git pour gérer le transfert de fichiers (ou de dépôts, ou quoi ?) entre les PC du bureau du projet et les PC de test. Il ne s'agit pas du "cas d'utilisation" normal qui est souvent présenté pour les utilisateurs d'ordinateurs portables qui sont "hors réseau" et développent dans un café du coin, pour ensuite revenir sur le réseau.

Quelqu'un a-t-il de l'expérience dans de tels scénarios ?


Voir également le git bundle create --all réponse pour transférer un repo complet

14voto

Koraktor Points 9532

L'utilisation de Git avec des ordinateurs non connectés est facile avec git bundle .

Voir son page de manuel .

6voto

Kent Points 304

Vous pouvez également conserver un clone du référentiel sur une clé USB. Poussez depuis le PC hors réseau vers la clé USB, puis poussez depuis la clé USB vers le référentiel central.

Il serait peut-être préférable d'avoir le dépôt de la clé USB avec son propre répertoire de travail (également sur la clé USB). Ensuite, il faut "tirer" sur la clé USB à partir du PC hors réseau, et "pousser" de la clé USB vers le référentiel central. Lorsque ce push se produit, vous pouvez faire la fusion, si nécessaire, sur la clé USB.

3voto

Philip Oakley Points 3825

Les lecteurs qui arrivent ici sont probablement aussi intéressés par utiliser-git-on-usb-stick-for-travelling-code qui présente un grand nombre de similitudes. Cela ne fonctionnera probablement pas pour mon environnement où nous sommes deux à faire les mouvements d'utilisation/édition de sneakernet (c'est-à-dire deux clés USB séparées), mais c'est une possibilité.

Tout dépend de la confiance que vous accordez au lecteur de transfert et de la capacité des outils à fonctionner lorsque vous ne l'avez pas branché.....

3voto

chrislott Points 45

J'ai trouvé ce tutoriel encore plus utile que la page de manuel car il donne un exemple de la façon dont Git vérifie que le bundle entrant et le dépôt cible partagent un commit ancêtre commun :

https://git-scm.com/book/en/v2/Git-Tools-Bundling

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