Pouvons-nous reclone un dépôt git à partir de l'existant dépôt local
Depuis git est un système distribué CV, il devrait avoir l'historique complet des modifications apportées à un référentiel.
Alors, pouvons-nous extrait que la version de pensions qui a été cloné en premier?
En fait, j'ai fait beaucoup de changements dans mon local repo. et ne veulent pas revenir à l'état initial par la perte de données. Mais je veux extraire le dépôt original(que j'ai cloné initialement) à un autre emplacement en utilisant les objets git(blob/arbre).
Note : je n'ai pas l'accès au serveur git maintenant.
OriginalL'auteur Priyank | 2014-03-10
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Si vous avez besoin de comprendre explicitement la révision de revenir à Git (probablement ne sais pas quelle version vous avez initialement clonés, mais probablement, vous pouvez le comprendre). La première étape, c'est de cloner votre disque local sur votre disque local dans un répertoire différent de sorte que vous pouvez garder vos travaux existants intacte.
OriginalL'auteur John Zwinck
Si je comprends bien, vous cloné votre projet à partir d'une distance de repo (appel local repo -
local_repo_1
), après que vous avez fait quelques modifications (uncommited) et maintenant vous voulez avoir une autre copie de l'original cloné repo git, mais à partir de lalocal_repo_1
et non à partir de la télécommande.Vous pouvez le faire en suivant ces étapes:
Enregistrer votre travail dans une cachette
git stash save stash_name //give any name to your stash, say local_repo_2
Maintenant, vous auriez à gauche avec le nu-pensions que vous cloné à partir de la télécommande, vous pouvez le copier par:
sortez de votre repo git
cd ..
clone
git clone /path/to/local_repo_1 local_repo_2 //local_repo_2 is the new repo
Dans le cas où vous aviez des locaux s'engage trop, puis faire un
git log
et de le remettre à l'souhaité SHA
git reset --hard SHA
Et enfin, vous pouvez revenir à votre
local_repo_1
et appliquer votre cachettegit stash apply
Voila, vous avez maintenant:
local_repo_1: vos changements que vous avez fait sur et au-dessus de la nue-pensions, de revenir à sa forme originale.
local_repo_2: une copie de la télécommande repo sans vos changements locaux
OriginalL'auteur brokenfoot
Oui, vous pouvez le faire absolument.
Essayer quelque chose comme cela
Permet de dire que vous avez cloné à
passer à un nouveau dossier et dire
Vous aurez votre repo comme cloné plus tôt.
Si l'état initial est requis, nous avons besoin de changer de direction à la livraison, nous avons besoin que la précédente ou de faire reset --hard. C'est que même en tant que serveur. Si il y avait des nouveaux commits dans le dépôt git serveur et que vous voulez le code pour être dans la précédente livraison !! Ce qui précède permet de créer un nouveau repo à partir de l'existant repo avec l'engage à jour.
OriginalL'auteur VinayVeluri
Vous pouvez ajouter ce script à votre fête
reclone () {
set -e
basename=${PWD##*/}
remoteurl=$(git remote get-url --push origin)
cd ..
echo $basename
echo $remoteurl
rm -rf $basename
git clone $remoteurl
cd $basename
set +e
}
OriginalL'auteur PRASANNA SARAF
Vous pourriez juste faire une nouvelle branche
Tout dépend de la situation. J'ai lu la question, comme l'affichage et la gestion des dernières versions de Git. Bien sûr, on peut créer un autre cas de l'actuel référentiel de se retrouver avec plusieurs dossiers avec différentes révisions. Je ne pense pas que ce serait la meilleure pratique.
Certains plus d'explication de l'effet serait de rendre cette une meilleure réponse.
OriginalL'auteur Michael Ver