git - 嵌套 git 仓库

标签 git version-control

我想问社区什么是为我的示例处理嵌套 git 存储库的最佳方法。 我们中有两个人将在共享代码 Assets 的同一个项目上工作。该项目内部将有许多较小的项目,它们都共享相同的 Assets (依赖于它们)。文件夹结构将是这样的:

main_project
 - assets
 - project_1
 - project_2
 - project_3 

有没有办法让我们在内部拥有 main_project 和 Assets 的版本历史记录,并忽略内部的项目文件夹,并为每个单独的项目拥有单独的版本控制历史记录?

如果这不可能,那么对于这种情况最好的方法是什么。

tnx 卢卡

最佳答案

您可以将子项目添加为 submodules我认为这将是官方方法。上次我检查时有点笨拙(但我工作过),但那是几年前的事了,所以不妨试试看。

基本上会发生这样的事情: Assets 和不在子模块文件夹中的所有内容都将由主项目 git 管理。除此之外,一个包含子模块列表的文件将由该存储库创建和管理。所有子模块都将在各自的存储库中进行管理(可以四处移动、克隆、推送和 pull 等等,因为它是普通的 git)。

编辑:

不知道@gorilly 在评论中提到的子树可能是更简单的解决方案

关于git - 嵌套 git 仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272600/

相关文章:

git:我不小心将功能分支 merge 到 master 而不是 develop

git - 如何通过推送将一个 git 远程镜像到另一个

git - 升级 Fedora 33 后 ssh 权限被拒绝(公钥)

git - vbcs.cache/edb.log 被 Visual Studio 2015 锁定

version-control - 我的 GitHub SSH key 应该是什么?

visual-studio - 集成 SVN 源代码控制和 Visual Studio .NET 2005/2008 的正确方法?

git - 编辑数百条 Git 提交消息的最快方法是什么?

git - 是否有适用于 Mac OS X 的良好 git 客户端,它具有 Conerstone 的所有功能或 Subversion 的版本?

python - 如何从运行时代码访问 PyInstaller Hook 文件命名空间中的变量?

jquery - 使用 Git 安装 jQuery