web-dev-qa-db-fra.com

Comment supprimer 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, c'est ignorer les modifications depuis le dernier commit. Comment dois-je faire cela? Je n'ai rien trouvé de tel que "changements de rejet", et tirer directement du dernier commit ne semble pas fonctionner. Les solutions effectuées avec l'interface graphique ou en ligne de commande seront bonnes. Je vous remercie.

68
goldfrapp04

J'aime utiliser

git stash

Ceci stocke toutes les modifications non validées dans le stash . Si vous souhaitez ignorer ces modifications ultérieurement, simplement git stash drop (ou git stash pop pour les restaurer).

Bien que ce ne soit techniquement pas la manière "appropriée" de rejeter les modifications (comme d'autres réponses et commentaires l'ont souligné).

50
Max

Sur SourceTree pour Mac, cliquez avec le bouton droit de la souris sur les fichiers que vous souhaitez supprimer (dans les fichiers de l’arborescence de travail liste), et choisissez Reset .

Sur SourceTree pour Windows, cliquez avec le bouton droit de la souris sur les fichiers à supprimer (dans Modifications de la copie de travail ) et choisissez Supprimer .

Sur git, vous feriez simplement:

git reset --hard pour ignorer les modifications apportées aux fichiers versionnés;

git clean -xdf pour effacer les nouveaux fichiers ( non suivis ), y compris les fichiers ignorés (l'option x). d consiste également à supprimer les répertoires non suivis et f à forcer.

130
Roberto

Sur le fichier non mis en scène, cliquez sur les trois points à droite. Une fois que vous avez cliqué dessus, un menu contextuel apparaîtra dans lequel vous pouvez ensuite Discard file.

7
NYC Tech Engineer

Ok, je viens de remarquer que le titre de la question répond déjà à ma question.

Pour décompresser des fichiers, utilisez

git reset HEAD /file/name

Et pour annuler les modifications apportées à un fichier

git checkout -- /file/name

Si vous avez un lot de fichiers dans un dossier, vous pouvez annuler tout le dossier.

git checkout -- /folder/name

Notez que toutes ces commandes sont déjà affichées lorsque vous git status

Ici, j'ai créé un repo factice et énuméré 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
3
Mohammad AbuShady

À partir de l’interface graphique, cliquez sur le répertoire de travail, cliquez avec le bouton droit de la souris sur le ou les fichiers que vous souhaitez supprimer, puis cliquez sur Supprimer.

3
giuse