Je veux que mercurial supprime plusieurs fichiers de l'état actuel du référentiel. Cependant, je veux que les fichiers existent dans l'histoire antérieure.
Comment font forget
et remove
diffèrent, et peuvent-ils faire ce que je veux?
version-control
mercurial
Paul Nathan
la source
la source
Réponses:
'
hg forget
' est juste un raccourci pour 'hg remove -Af
'. De l'hg remove
aide ' ':Bottom line: '
remove
' supprime le fichier de votre copie de travail sur le disque (sauf si vous l'utilisez-Af
) et 'forget
' ne le fait pas.la source
La meilleure façon de mettre c'est
hg forget
est identique àhg remove
excepter qu'il laisse les fichiers derrière dans votre copie de travail. Les fichiers sont laissés en tant que fichiers non suivis et peuvent désormais être ignorés en option avec un motif dans.hgignore
.En d'autres termes, je ne peux pas dire si vous l'avez utilisé
hg forget
ouhg remove
quand je me retire de vous. Un fichier que vous avez exécutéhg forget
sur sera supprimé lorsque je mets à jour à ce changeset - comme si vous aviez utilisé à lahg remove
place.la source
À partir de la documentation, vous pouvez apparemment utiliser l'une des commandes pour conserver le fichier dans l'historique du projet. Il semble que vous souhaitiez le supprimer, car il supprime également le fichier du répertoire de travail.
Extrait du livre Mercurial à http://hgbook.red-bean.com/read/ :
La page de manuel hg (1) dit ceci à propos d'oublier:
Et à propos de supprimer:
la source
Si vous utilisez
"hg remove b"
un fichier avec le statut "A", ce qui signifie qu'il a été ajouté mais non validé, Mercurial répondra:Cette réponse est une explication très claire de la différence entre supprimer et oublier.
Ma compréhension est que
"hg forget"
c'est pour annuler un fichier ajouté mais non validé afin qu'il ne soit pas suivi par le contrôle de version; while"hg remove"
sert à retirer un fichier validé du contrôle de version.Ce fil a un exemple d'utilisation
hg remove
contre des fichiers de 7 types de statut différents.la source
la source