Git分支只包含整个代码的一部分
我目前正在使用一个标准的工作流程:Git分支只包含整个代码的一部分,git,branch,Git,Branch,我目前正在使用一个标准的工作流程: *--*--*--*--*--*--*--*--*--*--*- (master) \ *--*--*--*--*--*--*- (development) \ - *--*--*--*--*- (new feature X) 主分支:稳定代码 发展科:发展特色 XXX分支机构:新功能分支机构 使用以下工作流: *--*--*--*--*--*--
*--*--*--*--*--*--*--*--*--*--*- (master)
\
*--*--*--*--*--*--*- (development)
\
- *--*--*--*--*- (new feature X)
- 主分支:稳定代码
- 发展科:发展特色
- XXX分支机构:新功能分支机构
*--*--*--*--*--*--*--*--*--*--*- (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)
这个工作流程很好,但我想要一个没有文档、教程和示例的新分支“light”:
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”。可能吗
我发现了一些类似的资源:
或
但是它们不符合我的工作流程(第一个链接),或者似乎是一个过度的(第二个链接)
是否有一种简单的方法来获得请求的行为,或者我应该更改我的工作流程?
谢谢我认为一个好的解决方案是将文档、示例等移动到另一个存储库,并将其作为子模块链接到需要它的分支。我认为一个好的解决方案是将文档、示例等移动到另一个存储库,并将其作为子模块链接到需要它的分支中。您始终可以从master创建分支,例如“x”,然后您可以删除不需要的内容并提交 为了简化您的工作,您可以考虑使用特定于分支的git ignore,但该功能目前在git中不可用
您最好创建一个分支,删除不需要的内容并提交。您可以从master创建一个分支,例如“x”,然后删除不需要的内容并提交 为了简化您的工作,您可以考虑使用特定于分支的git ignore,但该功能目前在git中不可用
您最好创建一个分支,删除不需要的内容并提交。谢谢您的回答。我还在学习git,所以我找到了一个关于git的资源。您的解决方案很好,但它似乎打破了我的项目结构,我必须将所有文档/示例/教程放在同一个文件夹中,然后将其链接到主分支。我遗漏了什么吗?请注意,我的解决方案很容易在新的存储库中实现。如果您想修改您已有的存储库,那么解决方案要复杂一些。首先,您需要创建一个新的存储库(或多个存储库),其中包含示例、文档以及您不希望包含在每个分支中的所有其他内容。比如说它的地址是git@github.com:torvalds/linux.git然后需要将其作为子模块添加到分支中。签出“pepito”,然后只需添加git模块git@github.com:torvalds/linux.git finally/the/path/where/you/want/it。您所说的“移动到另一个分支”是指“移动到单独的(子)存储库”@roalz是的,另一个存储库或子存储库,谢谢您的回答。我还在学习git,所以我找到了一个关于git的资源。您的解决方案很好,但它似乎打破了我的项目结构,我必须将所有文档/示例/教程放在同一个文件夹中,然后将其链接到主分支。我遗漏了什么吗?请注意,我的解决方案很容易在新的存储库中实现。如果您想修改您已有的存储库,那么解决方案要复杂一些。首先,您需要创建一个新的存储库(或多个存储库),其中包含示例、文档以及您不希望包含在每个分支中的所有其他内容。比如说它的地址是git@github.com:torvalds/linux.git然后需要将其作为子模块添加到分支中。签出“pepito”,然后只需添加git模块git@github.com:torvalds/linux.git finally/the/path/where/you/want/it。您所说的“移动到另一个分支”是指“移动到单独的(子)存储库”@roalz是的,另一个存储库或子存储库,谢谢您的回答。特定于分支的git是否忽略了正在开发中的功能?请注意,如果合并,则删除的内容也将从主版本中删除。@evolutionxbox True,但工作流将是
development-merge>master-merge>“light”
。唯一的问题是,我必须手动删除每个mergeNo的所有文档/教程/示例,但这是必需的。它可能会在未来发挥作用,谢谢你的回答。特定于分支的git是否忽略了正在开发中的功能?请注意,如果合并,则删除的内容也将从主版本中删除。@evolutionxbox True,但工作流将是development-merge>master-merge>“light”
。唯一的问题是,我必须手动删除每个mergeNo的所有文档/教程/示例,但这是必需的。它将来可能会起作用