Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 如何在远程repo中获取对.hg的更改_Mercurial_Hgignore - Fatal编程技术网

Mercurial 如何在远程repo中获取对.hg的更改

Mercurial 如何在远程repo中获取对.hg的更改,mercurial,hgignore,Mercurial,Hgignore,我最近对Mercurial repo(远程服务器)进行了一些更改,并意识到我的.hgignore配置错误,因为提交/推送中包含了某些本应被忽略的文件(二进制文件等) 所以我调整了我的.hgignore,使它变得完美,然后推动这一改变。令我惊讶的是,远程服务器的web ui(RhodeCode)仍然显示“坏”文件属于repo。我本以为它们会被自动剔除,因为它们违反了.hgignore 因此,看起来我需要在本地执行一些魔术,使我的工作副本尊重忽略更改,然后推动这些更改。也许从跟踪中删除文件 作为一个

我最近对Mercurial repo(远程服务器)进行了一些更改,并意识到我的
.hgignore
配置错误,因为提交/推送中包含了某些本应被忽略的文件(二进制文件等)

所以我调整了我的
.hgignore
,使它变得完美,然后推动这一改变。令我惊讶的是,远程服务器的web ui(RhodeCode)仍然显示“坏”文件属于repo。我本以为它们会被自动剔除,因为它们违反了
.hgignore

因此,看起来我需要在本地执行一些魔术,使我的工作副本尊重忽略更改,然后推动这些更改。也许从跟踪中删除文件

作为一个具体的例子,在我的repo根目录中,我有
myapp meta.bin
。因此在
.hgignore
中,我为
*.bin
添加了一个条目。为了从跟踪中删除
*.bin
(但不是文件系统!),使它们不会显示在远程回购的最新/head版本中,我需要执行哪些确切的命令


另外,
hg
是否有类似于Git的试运行(
Git add.-n
)的内容?在我真正开始做跟踪之前,看看跟踪中会添加什么会很方便

您已经添加了
myapp meta.bin
,因此尽管您后来将其添加到
.hgignore
中,它还是会被跟踪。如果您从回购中删除它,它将不会显示为新文件,并将被忽略


至于干运行,许多命令(其中包括
hgadd
)都支持
-n
-dry-run
选项。

您已经添加了
myapp meta.bin
,因此尽管您后来将其添加到了
.hgignore
,它还是会被跟踪。如果您从回购中删除它,它将不会显示为新文件,并将被忽略


至于干运行,许多命令(其中包括
hgadd
命令)支持
-n
-dry-run
选项。

谢谢@Paul(+1)-类似
hgaddremove
的命令怎么样?我真的不想从文件系统中删除它,因为它是一个需要生成的PITA(相信我)。此命令是否会以某种方式与
.hgignore
不同的方式从跟踪中删除文件?如果是这样的话,您能提供一个将其与我的bin文件一起使用的示例吗?您是否希望该文件位于repo中,同时让Mercurial忽略对该文件的更改?或者您只是想从repo中删除该文件,但将其保存在本地?使用
hg-forget
使Mercurial停止跟踪该文件,而不将其从文件系统中删除。谢谢@Paul(+1)-类似
hg-addremove
的方法如何?我真的不想从文件系统中删除它,因为它是一个需要生成的PITA(相信我)。此命令是否会以某种方式与
.hgignore
不同的方式从跟踪中删除文件?如果是这样的话,您能提供一个将其与我的bin文件一起使用的示例吗?您是否希望该文件位于repo中,同时让Mercurial忽略对该文件的更改?或者您只是想从repo中删除该文件,但在本地保留它?使用
hg-forget
使Mercurial停止跟踪该文件,而不将其从文件系统中删除。