Je travaille sur une régression dans le code source. Je tiens à dire git : « commander la source basée sur une date/heure paramétrée ». Est-ce possible ? J’ai mise en scène des changements à mon avis actuel que je ne veux pas perdre. Idéalement, je voudrais passer en arrière de la source de courant et une version que je suis intéressé par basé à une date antérieure.
Réponses
Trop de publicités?Pour conserver vos modifications en cours
Vous pouvez garder votre travail dissimulé, sans s'engager, avec git stash
. Vous
serait que d'utiliser git stash pop
pour le récupérer. Ou vous pouvez faire comme carleeto dit
et git commit
à une branche distincte.
Options de paiement en date
-
La caisse par date en utilisant rev-parse Vous pouvez payer une livraison à une date précise à l'aide de
rev-parse
comme cecigit checkout 'master@{1979-02-26 18:30:00}'
Plus de détails sur les options disponibles peuvent être trouvés dans la
git-rev-parse
Comme indiqué dans les commentaires de cette méthode utilise le reflog de trouver l'engagement dans votre histoire. Par défaut, ces entrées expire au bout de 90 jours. Bien que l' syntaxe d'utilisation de la reflog est moins verbeux vous ne pouvez revenir en arrière à 90 jours.
-
La caisse par date en utilisant rev-liste
L'autre option, qui n'utilise pas le reflog, est d'utiliser rev-liste pour obtenir le s'engager à un point particulier dans le temps avecgit checkout `git rev-list -n 1 --before="2009-07-27 13:37" master`
On dirait que quelque chose dans le sens de ce dont vous avez besoin : Git checkout basé sur la date
En d’autres termes, vous utilisez `` pour trouver la validation puis utilisez checkout pour le faire réellement.
Si vous ne voulez pas perdre vos modifications de mise en scène, la chose la plus facile serait de créer une nouvelle branche et elles s’engagent à cette branche. Vous pouvez toujours basculer en arrière entre les branches.