J'utilise ceci pour supprimer un fichier du référentiel:
hg remove <full file path>
Quelle commande pouvez-vous utiliser pour faire un hg remove
sur tous fichiers supprimés localement?
Par supprimé localement, j'entends ceux qui se présentent avec un !
quand tu fais hg status
.
Pour les ajouts, vous pouvez simplement faire hg add
pour ajouter tous les nouveaux fichiers (ceux préfixés avec ?
).
Cela va ajouter tous les nouveaux fichiers qui ne sont pas ignorés et supprimer tous les fichiers manquants localement
hg addremove
L'un ou l'autre supprimera tous les fichiers manquants localement (c'est la même commande)
hg remove --after
hg remove -A
Si vous avez l'intention de faire addremove et commit, vous pouvez le joindre à l'option '-A' comme indiqué ici :
hg commit -A -m 'Commit with addremove'
La question initiale demandait comment supprimer (c’est-à-dire oublier) les fichiers qui apparaissent sous la forme "!"
lorsque vous utilisez hg st
. Une approche directe qui présente l'avantage de la transparence consiste à utiliser hg st
avec le -n
option:
hg -v forget $(hg st -nd)
(Bien sûr, les fichiers ne seront oubliés qu'à la prochaine commit.)
Les drapeaux sont bien documentés ailleurs (par exemple, par la commande hg elle-même), mais en bref:
-n
signifie "nom de fichier uniquement"-d
signifie "sélection des fichiers supprimés"Si vous souhaitez ajouter et supprimer des modifications, mais que vous n'êtes pas prêt à appliquer le reste de vos modifications, je pense que vous devez toujours 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