代码之家  ›  专栏  ›  技术社区  ›  Somebody still uses you MS-DOS

你如何改造你的家?我想要一些关于子报告的信息

  •  2
  • Somebody still uses you MS-DOS  · 技术社区  · 15 年前

    我已经开始在Mercurial的版本控制中放置一些文件。它开始于 .vim 然后 .bashrc 现在我意识到很多其他文件也可以被版本控制(例如.zshrc,.taskwarrior创建的任务目录等)

    事实上,我想知道哪些方法是可行的,以及这里的人们是如何做到这一点的。

    对主页进行版本控制不是一个好主意,因为我需要编辑 .hgignore ,每次添加不需要版本控制的新文件夹时,我都需要编辑 HG忽略 也。

    所以我想到了两种方法:

    • 创建一个“dotfiles”repo,其中包含所有内容(vim、bash、screenrc),在家中克隆它,并在家中创建指向它们的符号链接;
    • 为每个配置(vim、bash、screenrc、cvsrc等)创建一个“dotfiles”repo和一个repo。这个“点文件”repo将把其他存储库作为子模块,但是仍然需要在家中创建符号链接。

    您认为在第二种方法中为每个配置创建一个存储库是过分的吗?你还有别的建议吗?我想在Linux/Mac上使用这种方法。我也在Windows上使用VIM,这就是为什么我要用子模块创建不同的存储库-在Windows中,我只克隆VIM repo:家庭repo将VIM作为子模块。

    (我使用的是BitBucket私人帐户。有可能有子模块在里面吗?还有一件事:有没有可能有git子模块? 里面 作为子模块的mercurial存储库?如何?)

    谢谢!

    3 回复  |  直到 15 年前
        1
  •  7
  •   Ry4an Brase    15 年前

    大多数这样做的人 ~/.hgignore 文件:

    .*
    

    它会自动忽略 一切 . 然后他们只是 hg add 他们想要跟踪的文件-- 添加汞 覆盖忽略规则(与cvs/svn不同)。

    需要注意的一点是,mercurial不跟踪文件权限(执行位除外),因此您必须小心.ssh/authorized_密钥等获得除 600 它需要。类似工具 etckeeper 自动化处理这部分内容的权限(和所有权),使hg(或git)不仅适用于 ~ 但也有系统的东西,比如 /etc .

        2
  •  4
  •   tghw megawac    15 年前

    我建议创建一个存储库,并在其中硬链接所有点文件。这样,您将只管理一个存储库,但不必对主目录中的每个文件都使用.hgignore。我用Dropbox而不是Mercurial来做这个,它工作得很好。

        3
  •  2
  •   Somebody still uses you MS-DOS    15 年前

    虽然所有的答案都很好,但我自己决定了解决办法。

    我将创建两个存储库:vim和home(我在不同的操作系统中使用vim,*nixes和windows,所以有单独的存储库是值得的)。维姆将成为家里的一个小报告人。

    home将是一个dotfiles文件夹,它有一个bash脚本,可以将所有内容符号化,所以我可以克隆repo并运行脚本。

    推荐文章