Som*_*DOS 2 linux macos version-control mercurial
我开始在mercurial中将一些文件放在版本控制中.它开始于.vim
,然后用.bashrc
,现在我意识到许多其他文件也可以被版本化(例如.zshrc,由taskwarrior创建的.task目录等)
事实是,我想知道哪些方法可用,以及SO中的人们如何做到这一点.
版本控制主页不是一个好主意,因为我需要编辑我的.hgignore
,每次添加我不想要版本化的新文件夹时我也需要编辑.hgignore
.
所以我想到了两种方法:
您是否认为在第二种方法中为每个配置创建存储库是否过度?你有其他建议吗?我想在linux/mac上使用这种方法.我也在windows上使用vim,这就是为什么我要用子模块制作不同的存储库 - 在windows中我只是克隆vim repo:home repo将vim作为子模块.
(我正在使用bitbucket私人帐户.是否有可能在那里有子模块?还有一件事:是否有可能在 mercurial存储库中将git子模块作为子模块?如何?)
谢谢!
大多数这样做的人在他们的~/.hgignore
文件中添加了这样的东西:
.*
Run Code Online (Sandbox Code Playgroud)
它会自动忽略一切.然后他们只是hg add
他们想要跟踪的文件 - hg add
覆盖忽略规则(与CVS/svn不同).
需要注意的一点是,mercurial不会跟踪文件权限(执行位除外),因此您必须小心.ssh/authorized_keys等获取权限以外的权限600
.像etckeeper这样的工具可以自动化处理这个hg(或git)部分的权限(和所有权),不仅适用于~
系统之类的东西,也适用于系统之类的东西/etc
.