在 Windows 上我们有root\folder1
, root\folder2
, root\folder3
。
在Linux上我们有root/folder1/folder2
, root/folder1/folder3
我强烈希望不要使用子模块或子树。
还有其他解决方案吗?创建一个分支并将文件重新排列到 Linux 结构是否有效?分支之间的合并有意义吗?
Edit
我读了很多书,尤其是关于分支机构工作流程的书。我现在正在重新考虑 NOT 子模块声明。我担心日常开发人员存储库包含子模块以及似乎需要的复杂性。但是,我认为开发人员不需要子模块,他们可以通过嵌入式存储库满足需求。
Say folder 1
, folder 2
and folder3
是单独的 git 存储库 -repo 1
, repo 2
and repo 3
。在 Windows 上,这 3 个存储库是独立的。在 Linux 上,folder 1
is repo 1
, folder1/folder 2
is repo 2
, etc.
如果我在folder 1
并且有变化folder 2
,将git add .
不包括folder
2 改变?当 git 看到另一个时是否会停止.git
?
可能有 2 个单独的裸存储库用于构建,其中包括 3 个存储库作为 Windows 和 Linux 的适当配置中的子模块。然后可以在这里管理发布分支。但是在什么情况下可以看到分支repo 1, 2 and 3
?有人尝试过这样的事情吗?效果好吗?
在符号链接旁边提及 https://stackoverflow.com/questions/17160793/how-to-use-git-to-have-different-working-directory-structures-on-different-platf/17162624#comment24843882_17160793 by mvp https://stackoverflow.com/users/1734130/mvp(注:你可以有Windows 7+ 上也有符号链接 http://en.wikipedia.org/wiki/NTFS_symbolic_link, 也可以看看 ”Windows 中的 Git 符号链接 https://stackoverflow.com/questions/5917249/git-symlinks-in-windows”),这将是一个部署 issue:
即:你会:
- 您常规的本地克隆
- 具有正确结构的克隆的副本
- 一种将该副本中所做的任何修改差异/导入回常规 git 存储库的方法
...所以是的,保持通用的目录结构仍然是最简单的解决方案。
如果我在folder 1
并且有变化folder 2
,将git add .
不包括folder 2
改变?
不,它只会考虑任何部分的变更者folder 1
, except folder 2
内容。
git 看到另一个 .git 时会停止吗?
Exactly.
可能有 2 个单独的裸存储库用于构建,其中包括 3 个存储库作为 Windows 和 Linux 的适当配置中的子模块
注意:一个裸仓库不能包含另一个仓库,因为没有工作树供所述仓库包含......任何东西。
与子模块相反,嵌套存储库根本不会记录在父存储库的分支中。
我怀疑子树更适合我们。
Yes, 子树(自 11.7.1 起成为 git 的一部分) https://stackoverflow.com/a/12668266/6309将涉及 2 个存储库:一个用于 Windows,一个用于 Linux。
每一个都会以正确的结构聚合子树存储库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)