如何使用Git在不同的平台上拥有不同的工作目录结构?
在Windows上,我们有如何使用Git在不同的平台上拥有不同的工作目录结构?,git,Git,在Windows上,我们有root\folder1,root\folder2,root\folder3。 在Linux上,我们有root/folder1/folder2,root/folder1/folder3 我强烈建议不要使用子模块或子路径 还有别的解决办法吗?创建一个分支并将文件重新安排到Linux结构是否可行?分支机构之间的合并有意义吗 编辑 我读了很多书,特别是关于分支工作流程的。我现在正在考虑notsubmodules语句。我关心的是,日常的开发人员存储库包含子模块以及可能带来的复杂
root\folder1
,root\folder2
,root\folder3
。
在Linux上,我们有root/folder1/folder2
,root/folder1/folder3
我强烈建议不要使用子模块或子路径
还有别的解决办法吗?创建一个分支并将文件重新安排到Linux结构是否可行?分支机构之间的合并有意义吗
编辑
我读了很多书,特别是关于分支工作流程的。我现在正在考虑notsubmodules语句。我关心的是,日常的开发人员存储库包含子模块以及可能带来的复杂情况。但是,我认为开发人员不需要子模块,他们可以通过嵌入式存储库满足需要
假设文件夹1
,文件夹2
和文件夹3
是独立的git存储库-repo1
,repo2
和repo3
。在Windows上,这3个存储库是独立的。在Linux上,folder1
是repo1
,folder1/folder2
是repo2
,等等
如果我在文件夹1
中,并且文件夹2
中有更改,那么git是否会添加。
不包括文件夹的更改?git看到另一个.git
时是否停止
可能有2个单独的裸存储库用于构建,其中包括3个repo,作为Windows和Linux的适当配置中的子模块。然后可以在这里管理发布分支。但在回购协议1、回购协议2和回购协议3中可以看到哪些分支?有人试过这样的东西吗?工作正常吗?在符号链接旁边(注意:您可以有,另请参见“”),这将是一个部署问题:
Ie:你会:
- 您的常规本地克隆
- 具有正确结构的克隆副本
- 将该副本中的任何修改区分/导入回常规git回购的方法
。。。因此,保持公共目录结构仍然是最简单的解决方案
如果我在文件夹1
中,并且文件夹2
中有更改,那么git是否会添加。
不包括文件夹2
更改
不,它只考虑代码<文件夹> 1 /代码>的任何部分,除了<代码>文件夹2 < /代码>内容> < /P>
git看到另一个时会停止吗
没错
可能有2个单独的裸存储库用于构建,其中包括3个repo,作为Windows和Linux相应配置中的子模块
注:裸回购协议不能包含另一个回购协议,因为该回购协议没有可包含的工作树。。。什么都行
与子模块相反,嵌套回购根本不会记录在父回购的分支中
我觉得子树更适合我们
是的,将涉及2个回购:一个用于Windows,一个用于Linux。
每一个都将聚合具有正确结构的子树回购。在Linux上,您可以创建和跟踪符号链接。但是,你最好重构你的应用程序,使其在所有平台上具有相同的目录结构。我在下面编辑了我的答案,以解决你的编辑问题。非常确定git不会在任何版本的Windows上添加或创建符号链接…?@EdwardThomson git不会单独添加/创建符号链接,是的,你是正确的。但是一个注册为签出后钩子的脚本可以:呸,只是在检查。。。符号链接和连接在Windows上非常奇怪,如果添加了该功能(可以说是在框中),我会感到害怕,但我不会感到震惊!)有关详细信息,请参阅。@RobG是的,我已在答案中添加了此选项,并提供了指向子树详细信息的链接。