首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅对某些子目录使用版本跟踪器?

如何仅对某些子目录使用版本跟踪器?
EN

Stack Overflow用户
提问于 2015-10-21 00:02:57
回答 2查看 50关注 0票数 0

我可能找错了这个工具,但是我有一个系统,它在多个服务器上配置如下:$HOME/module/submodule/{bin,config,log,tmp}。我想把源代码管理添加到所有的config目录,而不是其他目录(特别是log!)。我猜我可以将git指向$HOME,并使用.gitignore来排除我不感兴趣的所有东西,但新模块可以不时地添加,这意味着许多我想立即排除的东西。有什么想法吗?我是不是漏掉了什么明显的东西?顺便说一句,我没有和git结婚,我会接受任何满足我需求的系统。一个中央变更存储库会很好,但不是必需的;我只是想要一种回滚错误的方法,并添加一些变更跟踪。

EN

回答 2

Stack Overflow用户

发布于 2015-10-21 03:05:41

.gitignore是一种非常强大的方法。

如果您希望将来也排除所有内容,并且不自动添加目录或文件,但已存在一些目录,则可以使用*模式和!前缀。

它遵循一个放在根目录中的.gitignore的示例:

代码语言:javascript
复制
# exclude files in the root dir
/*
# exclude dirs in the root for
/**/
# include back the dirs below mentioned
!/bin/
!/config/
!/tmp/

请注意。对不起,我不在我的笔记本电脑上,我不能尝试它,所以我正在写我的头脑中的例子。有关详细信息,请查看文档。

票数 2
EN

Stack Overflow用户

发布于 2015-10-21 03:15:28

哑巴和显而易见的方式

$HOME上使用%REPO-ROOT创建存储库(如您所想),在存储库中添加任何内容之前,忽略(语法依赖于VCS),手动仅将需要的文件添加到存储库中

略有不同的版本:忽略除PATH/TO/config目录之外的所有目录(理论上可以在Mercurial中使用Negative Lookahead,在Git中也存在不同名称的相同技术,AFAICR),在调试阶段hg-isignored extension (BitBucket上的source)将非常有用-对于Mercurial的正则表达式

更好更简单的方式

在每个$HOME/module/submodule/config上使用%REPO-ROOT创建存储库,并且不忽略任何内容(?)。将超级存储库中的所有小存储库与Git的子模块|子树、Mercurial的子存储库链接,或者只使用本地存储库中的多个远程和分支(实时存储库的聚合)

结束语

忘记RCS (还有CVS、Monotone、Bazaar、ClearCase、Rational Team Concert),不要买头痛的东西

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33241423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档