2010-03-09 4 views
202

Je l'utiliser pour supprimer un fichier du repo:Comment faire pour supprimer "hg remove" de Mercurial pour tous les fichiers manquants?

hg remove <full file path> 

Quelle commande pouvez-vous utiliser pour faire une hg remove sur tous fichiers qui ont été supprimés localement?

Par supprimé localement, je veux dire ceux qui apparaissent avec un ! lorsque vous faites hg status. Pour les ajouts, vous pouvez simplement faire hg add pour ajouter tous les nouveaux fichiers (ceux préfixés par ?).

Répondre

322

Cela ajoutera tous les nouveaux fichiers qui ne sont pas ignorés, et supprimer tous les fichiers manquants localement

hg addremove 

Chacune de ces supprimera tous les fichiers manquants localement (Ils sont la même commande)

hg remove --after 
hg remove -A 
+7

il y a aussi hg oublier qui est eqivalent à hg rm -af –

+33

jk un nom d'utilisateur est menaçant, je me sens comme je l'ai lu evertime un de vos commentaires ou messages vous dites "je plaisante" à la fin :(cela étant dit, cela a aidé, à votre santé! –

+6

un mot d'avertissement ... ne pas paniquer quand il décharge tout un tas de merde à l'écran ... (comme je l'ai fait) –

29

Si vous avez l'intention de le faire AddRemove et engager, il peut être joint avec l'option « -A » comme indiqué here:

hg commit -A -m 'Commit with addremove' 
0

Si vous voulez AddRemove et engager, mais ne sont pas prêts à engager le reste de vos changements, je pense que vous avez encore à les énumérer:

$ hg st 
M modified-file 
A added-file 
R removed-file-1 
R removed-file-2 

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-* 
abort: removed-file-*: No such file or directory 

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-1 removed-file-2 
committed changeset 185:628800a7af84 
4

La question initiale a demandé comment supprimer (à savoir oublier) fichiers qui apparaissent comme "!" lors de l'utilisation hg st. Une approche directe qui a l'avantage de la transparence est d'utiliser hg st avec l'-n Option:

hg -v forget $(hg st -nd) 

(. Bien sûr, les fichiers ne seront oubliés lors de la prochaine commettre)

Les drapeaux sont bien -documented ailleurs (par exemple par la commande hg lui-même), mais en bref:

  • -n signifie "nom de fichier que"
  • -d signifie « sélectionner les fichiers qui ont été supprimés »
+0

Pouvez-vous expliquer chacun de ces drapeaux? – Cullub

+0

a fonctionné le mieux pour moi. sauvé mon temps. –

Questions connexes