215 votes

Git clone particulier version du référentiel distant

Je suis très nouveau dans le monde du contrôle de version et git.

J’ai cloné un dépôt git distant il y a un mois. Le référentiel distant a subi de nombreux changements et est devenue instable.

Maintenant j’ai besoin d’une autre copie du référentiel, version identique à celui que j’ai cloné il y a un mois. Comment dois-je faire cela ?

Merci.

267voto

Rui Carneiro Points 1970

Vous pourriez « reset » votre référentiel pour toute validation souhaitée (il y a 1 mois par exemple).

Utilisez git-reset pour cela :

120voto

M.Othman Points 824

Vous pouvez utiliser tout simplement

dans cette séquence

hachage de validation ressemble à cette « 45ef55ac20ce2389c9180658fdba35f4a663d204 »

38voto

jweyrich Points 10002

Utilisation pour trouver la révision vous voulez revenir à et prendre note de la validation de hachage. Après cela, juste . Exemple :

De cette façon, vous ne perdez pas tout renseignement, donc vous pouvez passer à une révision plus récente dès qu’il sera stable. Remarque cela ne permettra pas vous engager sur ce point. Si vous le souhaitez, créer une nouvelle branche, comme mentionné sur le message ci-haut.

2voto

Bruno Points 47560

Contrairement à centralisée des systèmes de contrôle de version, Git clone l'ensemble du référentiel, de sorte que vous n'avez pas seulement obtenir le courant de fichiers distants, mais l'ensemble de l'histoire. Vous référentiel local comprendra tout cela.

Il pourrait y avoir des balises pour marquer une version particulière à l'époque. Si non, vous pouvez les créer vous-même localement. Une bonne façon de le faire est d'utiliser git log ou peut-être plus visuellement avec des outils comme gitk (peut - gitk --all voir tous les branches et les tags). Si vous pouvez repérer les commits hachages qui ont été utilisés à l'heure, vous pouvez les marquer à l'aide de git tag <hash> et vérifiez les dans de nouvelles copies de travail (par exemple, git checkout -b new_branch_name tag_name ou directement avec le hash au lieu de le nom de la balise).

0voto

gpampara Points 5286

L’arbre des sources que vous êtes exigeant est toujours disponible dans le dépôt git, cependant, vous devrez le SHA1 du commit qui vous intéresse. Je suppose que vous pouvez obtenir le SHA1 du clone actuel que vous avez ?

Si vous pouvez obtenir que SHA1, la vous pouvez créer une branche / reset il pour avoir le référentiel identique.

Commandes selon les réponses de Rui

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