Mercurial 如何防止删除被忽略的文件?
几个月前,我在默认分支上控制了一个项目设置文件夹的版本,然后随着时间的推移,在默认分支之外创建了许多分支。现在我决定不控制project settings文件夹的版本,因为在分支之间切换时会产生很多问题 因此,我已经忘记了这个项目设置文件夹,它允许我将文件保存在本地机器上,但删除了mercurial。但是,当从一个仍有此文件夹版本的旧分支切换回默认分支时,实际上会从本地计算机上删除文件,这是不好的 我如何防止这种情况 默认情况下,文件夹也位于Mercurial 如何防止删除被忽略的文件?,mercurial,Mercurial,几个月前,我在默认分支上控制了一个项目设置文件夹的版本,然后随着时间的推移,在默认分支之外创建了许多分支。现在我决定不控制project settings文件夹的版本,因为在分支之间切换时会产生很多问题 因此,我已经忘记了这个项目设置文件夹,它允许我将文件保存在本地机器上,但删除了mercurial。但是,当从一个仍有此文件夹版本的旧分支切换回默认分支时,实际上会从本地计算机上删除文件,这是不好的 我如何防止这种情况 默认情况下,文件夹也位于.hgignore中。这是不可能的 但通常的做法是将c
.hgignore
中。这是不可能的
但通常的做法是将config.ini.dist
保存在存储库中,并在签出源代码后立即由某个构建系统构建特定于环境的配置。这是不可能做到的
但通常的做法是将
config.ini.dist
保存在存储库中,并在签出源代码后立即由某个构建系统构建特定于环境的配置。处理此问题的标准方法是对模板配置文件进行版本控制,而忽略真正的配置文件。然后,真正的配置文件可以包含模板文件,或者偶尔复制一次模板文件
出现问题的根本原因是:
$ hg forget config.ini
与跑步完全相同:
$ hg remove config.ini
$ hg cat config.ini > config.ini
忘记命令将文件留在工作目录中,但您提交的仍然是文件删除。这意味着之后,Mercurial无法区分“文件被遗忘”和“文件被删除”——只有删除被提交,因此这两个命令看起来完全相同。处理这一问题的标准方法是对模板配置文件进行版本控制,而忽略真正的配置文件。然后,真正的配置文件可以包含模板文件,或者偶尔复制一次模板文件 出现问题的根本原因是:
$ hg forget config.ini
与跑步完全相同:
$ hg remove config.ini
$ hg cat config.ini > config.ini
忘记命令将文件留在工作目录中,但您提交的仍然是文件删除。这意味着之后,Mercurial无法区分“文件被遗忘”和“文件被删除”——只有删除被提交,因此这两个命令看起来完全相同。对不起,我说的“项目设置”是指IDE创建的,与我的框架无关。我明白为什么会这样,但我希望有一个聪明的方法来解决这个问题。。。也许有些脚本会进入每个分支,然后忽略这些文件,因此当我切换分支时,它对这些文件没有任何作用。我担心您必须删除这些文件并在每个分支上自己更新忽略文件。对不起,我说的“项目设置”是指IDE创建的那些,与我的框架无关。我明白为什么会这样,但我希望有一个聪明的方法来解决这个问题。。。也许有些脚本会进入每个分支,然后忽略这些文件,这样当我切换分支时,它就不会处理这些文件。恐怕您必须删除这些文件,并在每个分支上自己更新忽略文件。