如何在远程回购中获得对 .hgignore 的更改
How to get changes to .hgignore honored in remote repo
我最近对 Mercurial 存储库(远程服务器)进行了一些更改,并意识到我的 .hgignore
配置错误,因为某些文件(二进制文件等)包含在 commit/push 中,应该被蜜蜂忽略了。
所以我调整了我的 .hgignore
并让它变得完美,然后推动改变。令我吃惊的是,远程服务器的网络 ui (RhodeCode) 仍然显示 "bad" 文件属于存储库。我原以为它们会被自动剔除,因为它们违反了 .hgignore
.
所以看起来我需要在本地做一些魔术,让我的工作副本接受忽略的更改,然后推送这些更改。也许从跟踪中删除文件?
举个具体的例子,在我的 repo root 中有 myapp-meta.bin
。所以在 .hgignore
中,我为 *.bin
添加了一个条目。我需要执行哪些确切的命令才能从跟踪中删除 *.bin
(但不是文件系统!),因此它们不会出现在远程仓库的 latest/head 版本中?
另外,hg
有没有和Git的干运行(git add . -n
)相似的东西?将来在我真正开始做之前看看会添加到跟踪中会很方便!
您已经添加了 myapp-meta.bin
,因此即使您稍后将其添加到 .hgignore
,它也会被跟踪。如果您将其从存储库中删除,它将不会显示为新文件并将被忽略。
至于干运行,许多命令(hg add
也在其中)支持-n
或--dry-run
选项。
我最近对 Mercurial 存储库(远程服务器)进行了一些更改,并意识到我的 .hgignore
配置错误,因为某些文件(二进制文件等)包含在 commit/push 中,应该被蜜蜂忽略了。
所以我调整了我的 .hgignore
并让它变得完美,然后推动改变。令我吃惊的是,远程服务器的网络 ui (RhodeCode) 仍然显示 "bad" 文件属于存储库。我原以为它们会被自动剔除,因为它们违反了 .hgignore
.
所以看起来我需要在本地做一些魔术,让我的工作副本接受忽略的更改,然后推送这些更改。也许从跟踪中删除文件?
举个具体的例子,在我的 repo root 中有 myapp-meta.bin
。所以在 .hgignore
中,我为 *.bin
添加了一个条目。我需要执行哪些确切的命令才能从跟踪中删除 *.bin
(但不是文件系统!),因此它们不会出现在远程仓库的 latest/head 版本中?
另外,hg
有没有和Git的干运行(git add . -n
)相似的东西?将来在我真正开始做之前看看会添加到跟踪中会很方便!
您已经添加了 myapp-meta.bin
,因此即使您稍后将其添加到 .hgignore
,它也会被跟踪。如果您将其从存储库中删除,它将不会显示为新文件并将被忽略。
至于干运行,许多命令(hg add
也在其中)支持-n
或--dry-run
选项。