Si vous voulez supprimer toutes les modifications locales - y compris les fichiers qui ne sont pas suivis par git - de votre copie de travail, il suffit de les cacher :
git stash push --include-untracked
Si vous n'en avez plus besoin, vous pouvez maintenant laisser tomber cette réserve :
git stash drop
Si vous ne voulez pas cacher les changements que vous avez déjà mis en place - par exemple avec git add
- puis ajoutez l'option --keep-index
. Notez cependant que cela empêchera toujours la fusion si ces modifications échelonnées entrent en collision avec celles provenant de l'amont.
Si vous souhaitez écraser uniquement des parties spécifiques de vos modifications locales, il existe deux possibilités :
-
Enregistrez tout ce que vous ne voulez pas écraser et utilisez la méthode ci-dessus pour le reste.
-
Utilisez git checkout path/to/file/to/revert
pour les modifications que vous souhaitez écraser. Assurez-vous que ce fichier n'est pas mis à disposition via git reset HEAD path/to/file/to/revert
.
0 votes
Relié mais pas en double : stackoverflow.com/questions/52704/
12 votes
@BrianKnoblauch totalement d'accord ! De plus, ce n'est pas vraiment une 'fusion' si c'est un 'écrasement', n'est-ce pas ? SVN me manque tous les jours...
6 votes
git config core.fileMode false
sauver mon temps8 votes
Duplicata possible de Comment résoudre le message de git "Commit your changes or stash them before you can merge" ?
0 votes
Et si je ne veux pas les écraser ?