Comment ignorer les modifications non validées dans SourceTree?
Je suis nouveau dans L'environnement Git, et j'utilise BitBucket avec SourceTree sur Mac. Tout ce que je veux faire maintenant est d'ignorer les changements depuis le dernier commit. Comment dois-je faire? Je n'ai rien trouvé comme "Ignorer les changements", et tirer directement du dernier commit ne semble pas fonctionner. Les Solutions faites avec L'interface graphique ou la ligne de commande seront bonnes. Merci.
5 réponses
J'aime utiliser
git stash
Cela stocke toutes les modifications non validées dans la réserve . Si vous voulez supprimer ces modifications plus tard, juste git stash drop
(ou git stash pop
pour les restaurer).
Bien que ce ne soit techniquement pas la manière "appropriée" d'ignorer les changements (comme d'autres réponses et commentaires l'ont souligné).
Sur SourceTree pour Mac, cliquez-droit sur les fichiers que vous souhaitez changer (dans le Fichiers dans l'arbre de travail liste), et choisissez Réinitialiser.
Sur SourceTree pour Windows, cliquez-droit sur les fichiers que vous souhaitez changer (dans le Copie de Travail Modifications liste), et choisissez Jetez.
Sur git , vous feriez simplement:
git reset --hard
pour annuler les modifications apportées à versionnées fichiers;
git clean -xdf
pour effacer de nouveaux fichiers (untracked), y compris ceux ignorés (l'option x
). {[3] } consiste également à supprimer les répertoires non suivis et f
à forcer.
À partir de l'interface graphique sourcetree, cliquez sur working directoy, cliquez avec le bouton droit sur le(S) fichier (s) que vous souhaitez supprimer, puis cliquez sur Discard
Sur le fichier Non classé, cliquez sur les trois points sur le côté droit. Une fois que vous cliquez dessus, un menu contextuel apparaîtra où vous pouvez ensuite Discard file
.
Ok, je viens de remarquer que ma question était déjà répondue dans le titre de la question.
Pour défaire les fichiers utilisez
git reset HEAD /file/name
Et annuler les modifications apportées à un fichier
git checkout -- /file/name
Si vous avez un lot de fichiers dans un dossier, vous pouvez annuler le dossier entier
git checkout -- /folder/name
Notez que toutes ces commandes sont déjà affichés lorsque vous git status
Ici, j'ai créé un dépôt factice et listé toutes les 3 possibilités
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: test2
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# test3