代码之家  ›  专栏  ›  技术社区  ›  Tac-Tics

在mercurial中从提交中排除项目配置文件

  •  6
  • Tac-Tics  · 技术社区  · 16 年前

    我有一个项目需要一些配置文件。我想在存储库中保留默认配置文件。但是,我不想为每次提交都指定-x标志。是否有一种标准方法将一组修改过的文件标记为永久排除在提交之外?

    2 回复  |  直到 16 年前
        1
  •  4
  •   Norman Ramsey    16 年前

    有趣的问题,我希望你能得到更好的答案。面对类似的问题,我做了如下工作:

    • 重命名配置文件,例如 noweb.cfg 我有 noweb.cfg.default . 此文件很少更改,并受修订控制。

    • 实际的配置文件, 目前为止 ,可频繁更改,但放入 .hgignore 所以它永远不会被提交。

    • 在需要时,我有一个特殊的makefile目标来重建 *.cfg 从 *.cfg.default .

    这个解决方案并不理想,因为 .cfg 当 .cfg.default 变化。原则上,你可以用diff3或者一些更复杂的合并工具来解决这个问题,但是我从来没有精力去那里。

        2
  •  3
  •   Ry4an Brase    16 年前

    您可以使用.hgrc中的(饱受诟病的)默认值部分:

      [defaults]
      commit = -X thefileyouwanttoexclude
    

    如果可以对手指进行重新训练,首选的方法是使用别名:

     [alias]
      cmt = commit -X thefileyouwanttoexclude
    

    然后你开始使用 hg cmt 而不是承诺。

    推荐文章