.hgignore不起作用

时间:2012-03-21 11:29:41

标签: mercurial hgignore

我创建了.hgignore文件,但在此之前我将项目结构发送到服务器。现在,hgignore不适用于之前发送的文件。我在某处读到我需要从跟踪列表中删除这些文件和目录,或者以某种“私有”方式添加它,但我无法弄清楚我是如何做到这一点的。问题更加复杂,因为我写了sh脚本,它将这个结构的一部分复制到其他地方(项目由一些客户端应用程序和www服务器组成,这些服务器文件在每个hg push命令之后被复制到其他地方)。所以我想忽略一些文件(但希望这些文件存在于服务器上,只需用一些配置推送一次)我想用我的sh脚本复制那些被忽略的文件(这个脚本中最重要的是我正在使用的事实'hg archive'来处理我要复制的内容)。我希望这对某人来说是可以理解的:)

2 个答案:

答案 0 :(得分:12)

.hgignore仅忽略尚未添加到存储库的文件。使用hg forget停止跟踪已添加的文件。

您无法签入文件并随后忽略更改。对于配置文件,最佳做法是签入模板文件,并忽略实际的本地配置文件。拉动回购的人可以复制模板文件并进行本地更改。你sh脚本可以自动化。

答案 1 :(得分:1)

基本上,Mark Tolonen已经在his answer中说了一切重要的内容。

我只是想为这部分答案添加一个例子:

  

对于配置文件,最佳做法是签入模板文件,并忽略实际的本地配置文件。拉动回购的人可以复制模板文件并进行本地更改。你sh脚本可以自动化。

我前段时间回答了一个类似的问题,并举了一个详细的例子: how to ignore files in kiln/mercurial using tortoise hg "that are part of the repository"

我的答案是针对Visual Studio的(根据你迄今为止提出的问题,你显然没有使用它),但它可以帮助你获得基本的想法,所以你应该能够采用它很容易到任何其他环境。