0
votes

Est-il possible d'obtenir un clone d'un référentiel à distance mais d'utiliser des objets du référentiel local pour économiser la bande passante?

Nous avons un référentiel qui est presque un GB de taille. Comme il s'agit d'un projet de mise à niveau (Python 2 à Python 3), la plupart des développeurs ont déjà une copie dans leur système de fichiers local (qui est probablement obsolète; et a leurs propres noms distants).

est-il possible de faire un git clone tel qu'il:

  • copie les fichiers de .git dossier du système de fichiers local
  • définit l'origine à l'URL distante (et non au système de fichiers local)
  • fait un git tire pour vous assurer que tout est à jour

    presque imitant un clone frais mais en évitant le gaspillage de la bande passante?

    J'ai essayé:

    • fichier clone git: //home/project/local.git mais il ne règle pas la télécommande appropriée; il ne met pas la mise à jour.
    • - Référence Option: Clone GIT --Reference / Accueil / Projet ; Mais cela n'aide pas non plus malgré sa prétention de sauver la bande passante.

      Je pourrais écrire une fonction Bash pour cela, mais je me demandais simplement si cela est pris en charge par défaut?

git

1 commentaires

Non Git Clone Mais Git Remote Set-URL + GIT FETCH + GIT Tirez


3 Réponses :


3
votes

Vous étiez presque là. Exécuter

git reset --hard origin/master


1 commentaires

Il semble que de nouvelles versions de git ont des capacités pour le faire automatiquement; Mais j'irai avec cette approche sur ma machine Centos 7.x.



0
votes

the - référence et - dissocier l'option semble fonctionner dans git> = 2.3,0 selon l'officiel 0 commentaires


2
votes

Votre - référence code> était très proche. En supposant que fichier: //home/project/local.git code> signifie que vous avez un clone existant dans /home/project/local.git code>, vous voulez:

git clone --reference /home/project <remote-url>


0 commentaires