我目前正在使用 - 我想 - 标准工作流程:
使用以下工作流程:
*--*--*--*--*--*--*--*--*--*--*- (master)
\
*--*--*--*--*--*--*- (development)
\
- *--*--*--*--*- (new feature X)
我的主分支包括我项目所有模块的文档,示例和教程
Project TOTO
|
|
--- Module pepito
| |
| ----Submodule alpha (src, docs, tutorials, examples)
| |
| ----Submodule beta (src, docs, tutorials, examples)
--- Module pepita
| |
| ----Submodule gamma (src, docs, tutorials, examples)
| |
| ---- Submodule delta (src, docs, tutorials, examples)
---- Module pepiti (src, docs, tutorials, examples)
这个工作流程很好,但我想要一个新的分支“光”没有文档,教程和这样的例子:
Project TOTO
|
|
--- Module pepito
| |
| ----Submodule alpha (src only)
| |
| ----Submodule beta (src only)
--- Module pepita
| |
| ----Submodule gamma (src only)
| |
| ---- Submodule delta (src only)
---- Module pepiti (src only)
由于我的所有项目都具有相同的结构:
Main directory
- src
- docs
- examples
- tutorials
我想定义一种“gitignore”,当我从master合并到新的“light”分支时,它排除了模式“docs”,“examples”和“tutorials”。可能吗 ?
我发现了一些这样的资源: ignore a directory while merging 要么 setupd a git driver to ignore a folder
但它们不适合我的工作流程(第一个链接)或似乎是一个矫枉过正(第二个链接)
是否有简单的方法来获取请求的行为,还是应该更改我的工作流程? 谢谢
答案 0 :(得分:3)
你总是可以从主人创建一个分支'x'然后你可以删除不需要的内容并提交。
为了让您的工作更轻松,您可以考虑分支特定的git-ignore,但此功能目前在git中不可用
最好的办法是创建分支并删除不需要的内容并提交。
答案 1 :(得分:1)
我认为一个好的解决方案是将文档,示例等移动到另一个存储库,并将其作为子模块仅链接到需要它的那些分支。