Si j'utilise t fort> Eam F STRUT> EDATION s strong> Ource C fort> Ontrol je peux facilement retourner à l'ancien changeant. p>
En supposant que j'ai un fichier avec 4 versions, chaque version a une modification: p>
Maintenant, j'ai trouvé beaucoup de bugs dans les versions 3 et 4 et je veux retourner rapidement à la version 2. P>
dans Visual Studio Je peux cliquer sur "Afficher l'historique" dans le fichier, cliquez sur ModificationT B347 ("Version 2"), puis "Rollback". p>
Maintenant, j'ai une nouvelle modification avec le fichier dans la version 2 et je peux en enregistrer (j'ai toujours la version 3/4 de mon historique, je peux donc aussi y retourner à un jour). P>
Dans Git, je sais qu'il y a
revenir code>, réinitialiser code> (dur, doux) mais je ne sais pas exactement ce que je dois faire pour atteindre le même résultat. p>
5 Réponses :
git revert d912 c560
Mais il supprimera la version 3/4 commet et je ne le veux pas. Dans TFVC, la restauration ne supprime pas de chengensets, mais ajoutez plutôt une nouvelle modification de la version 2.
Merci! J'ai accepté @Elpiekay réponse car est plus détaillé.
Je ne sais pas quel enregistrement est en TFVC, mais si vous souhaitez simplement visualiser le fichier V2, vous pouvez GIT Checkout B347 - TheFilenameYouwant Code> P>
Checkin = commit & pousser. Je ne veux pas seulement voir Je souhaite voir le fichier v2, leur commettre et pousser, pour mettre à jour mon représentant de retour à V2.
Voulez-vous que les modifications que vous avez apportées à V2 soient également pour être en V3 et V4?
non. Je veux que mon repo retourne à V2 (mais pas de supprimer V3 et V4 de commettre l'histoire).
Voulez-vous aussi les autres fichiers à V2 ou devraient-ils rester v4?
Je veux que tous les fichiers soient de retour à v2
Supposons que vous ayez 4 commits 1. Outher Files peuvent être modifiés dans C et D. Si vous souhaitez annuler uniquement si vous souhaitez commettre la restauration, p> et l'historique sera 2.Si vous souhaitez annuler toutes les modifications de C et D (y compris celles d'autres fichiers le cas échéant) et CD ont été poussés au référentiel à distance: p> et l'historique sera 3.Si vous souhaitez annuler toutes les modifications des C et D et que CD n'a pas été appuyé sur le référentiel à distance: P> abcd code>, le fichier foo.txt code> est modifié dans chacun d'eux et les codes de C code> et d code> avoir des bogues introduits par foo.txt code>. foo.txt à la version de B code>: p> abcd-r1 code>. p> abcd-r2-r3 code>. p> git reset B --hard
Très bonne réponse! Merci! Je ne pense pas pouvoir revenir à 2 commettre en VS en un revenir, mais je peux le faire en ligne de commande :)
@Shaykiabramczyk ici git revert b..d code> fonctionne aussi. B..d Code> signifie C code> et d code> et git les reverront correctement dans la séquence inverse. C'est pratique lorsque vous souhaitez rétablir un ensemble de commits consécutifs. En outre, l'option - no-edit code> rend le processus plus facilement si vous ne souhaitez pas modifier le message de revenir par défaut.
Pour continuer à travailler sur l'état V2 du référentiel de votre copie de travail, vous pouvez faire
# get uncommitted changes out of the way git stash # recreate v2 in the working copy git checkout commit-hash-or-tag-of-v2 # create new branch based on v2 git checkout -b branchname-for-new-branch
C'est aussi simple que: p> Explication: forte > p> Vous pouvez simplement créer une nouvelle succursale à la version 2. P>
ou (2) crée une nouvelle branche (pour garder les versions 3 et 4): h2>
Git Checkout B347 CODE> P>
Checkout git -b redo-work-from-version-2 code> p> li>
ul>
redo-work-from-version-2 code>. li>