Chr*_*s R 15 mercurial hgignore
我正在使用Mercurial管理$ HOME,以保持我的dotfiles好看和跟踪,或至少对我来说重要的.
但是,〜中的文件和目录数量很多,不需要跟踪,而且这个集合不断变化且不断增长.
从历史上看,我已经通过这个.hgignore解决了这个问题.
syntax: glob
*
Run Code Online (Sandbox Code Playgroud)
这样可以保持我的状态干净,只会使之前跟踪的文件可见.但是,我有一些目录(在我的情况下scripts,.emacs.d),我希望看到未跟踪的文件; 我几乎总是想跟踪那些目录的新增内容.
我知道我可以运行hg st -u scripts以识别未跟踪的文件,但我想要一种方法,我可以使用普通的ole hg状态实现相同的功能.
有没有办法做到这一点?
sha*_*tor 18
试试这个.hgignore:
syntax: regexp
^(?!(scripts|foo|bar)/)[^/]+/
Run Code Online (Sandbox Code Playgroud)
^ 匹配路径的开头(?!(scripts|foo|bar)使用负前瞻忽略,除了那些在目录中的所有文件scripts,foo或bar/) 确保忽略具有跟踪目录作为前缀的目录[^/]+/然后实际匹配任何目录(不包括由前瞻排除的那些目录),因此~不会忽略文件对于这个解决方案中的中心思想(负向前瞻)的信用归功于Michael La Voie对这个问题的回答
Ry4*_*ase 10
这个问题已经在这里被问过很多次了,你会得到很多复杂的答案,使用零宽度负向前看断言,一个经常被滥用的正则表达式技巧,但更好的解决方案是(a)只是制作仅在该目录中的repo或(b)只添加该目录中的文件.对于选项(B)你只要把.*你的.hgignore文件到不顾一切,然后手动hg add你想跟踪的文件.在mercurial中,与svn和cvs不同,您可以使用add覆盖ignore.
| 归档时间: |
|
| 查看次数: |
6550 次 |
| 最近记录: |