【发布时间】:2016-01-28 13:59:38
【问题描述】:
我最近将一些更改推送到 Mercurial 存储库(远程服务器)并意识到我的 .hgignore 配置错误,因为某些文件(二进制文件等)包含在应该被忽略的提交/推送中。
所以我调整了我的.hgignore 并让它变得完美,然后推动这个改变。令我惊讶的是,远程服务器的 web ui (RhodeCode) 仍然将“坏”文件显示为属于 repo。我原以为它们会被自动剔除,因为它们违反了.hgignore。
所以看起来我需要在本地做一些魔法,让我的工作副本尊重忽略更改,然后推送这些更改。也许从跟踪中删除文件?
作为一个具体的例子,在我的回购根目录中我有myapp-meta.bin。所以在.hgignore 中,我为*.bin 添加了一个条目。为了从跟踪中删除*.bin(但不是文件系统!),我需要执行哪些确切的命令,这样它们就不会出现在远程仓库的最新/头版本中?
另外,hg 有什么类似于 Git 的试运行 (git add . -n) 吗?将来在我真正开始做之前看看会添加到跟踪中会很方便!
【问题讨论】: