在Windows上,我们有root\folder1
,root\folder2
,root\folder3
。
在Linux上,我们有root/folder1/folder2
,root/folder1/folder3
我非常希望不使用子模块或子树。
还有其他解决方案吗?是否可以创建分支并将文件重新排列到Linux结构?并且分支之间的合并是否有意义?
修改
我做了更多阅读,特别是关于分支工作流程。我现在正在重新考虑NOT子模块语句。我担心日常开发人员存储库包含子模块和似乎需要的复杂性。但是,我认为开发人员不需要子模块,他们可以满足嵌入式存储库的需求。
说folder 1
,folder 2
和folder3
是单独的git存储库 - repo 1
,repo 2
和repo 3
。在Windows上,3个存储库是分开的。在Linux上,folder 1
为repo 1
,folder1/folder 2
为repo 2
等。
如果我在folder 1
并且folder 2
中有变化,git add .
是否会包含folder
2更改?当git看到另一个.git
时会停止吗?
可能有2个单独的裸存储库用于构建,其中包含3个存储库作为Windows和Linux的相应配置中的子模块。然后可以在此处管理发布分支。但是在repo 1, 2 and 3
中看到了什么分支?有没有人尝试过这样的东西?它运作得好吗?
答案 0 :(得分:3)
mentioned旁边的符号链接mvp旁边(注意:您可以symlink on Windows 7+ too,另请参阅“Git Symlinks in Windows”),这将是部署问题:
是的,你会:...是的,保持公共目录结构仍然是最简单的解决方案。
如果我在
folder 1
并且folder 2
中有变化,git add .
是否会包含folder 2
更改?
不,它只考虑folder 1
,除 folder 2
内容之外的任何部分的转换器。
当git看到另一个.git时会停止吗?
完全。
可能有2个单独的裸存储库用于构建,其中包含3个存储库作为适用于Windows和Linux的配置中的子模块
注意:一个裸仓库不能包含另一个仓库,因为所述仓库没有工作树可以包含......任何东西。
与子模块相反,嵌套式仓库根本不会记录在父仓库的分支中。
我怀疑子树更适合我们。
是的,subtree (part of git since 1.7.11)将涉及2个回购:一个用于Windows,一个用于Linux 每个人都会使用正确的结构聚合子树回购。