Luk*_*ann 20 git git-submodules git-subtree
我读了很多关于git子模块应该是多么可怕,但我不确定这是否只是那些觉得有限的人的呻吟,或者是否有严重的问题(特别是关于我的用例).
我只想将不同的回购包含在我的回购中
website/
libs/
js/
fs-slides [external]
fs-dialog [external]
Run Code Online (Sandbox Code Playgroud)
并且有可能轻松更新这些回购.据我所知,从回购中只包含一个文件是不容易的,对吧?(但没关系.)
我应该使用子模块吗?
或者它有什么问题吗?或者子树更容易吗?
Von*_*onC 11
子模块非常适合您的情况,特别是因为您不介意将这些子目录包含在它们自己的子目录中.
您可以使用子模块的主要严重问题是在进行更新时更新它们,如" git子模块的工作原理 "中所述:
如果您在子模块中进行提交时忘记设置分支,则表示提交将在分离的HEAD上进行,并且正在进行的更改将在下一个进程中丢失git submodule update
(reflog
如果为子模块repo激活,则可以通过它返回).
然后,正如迈克尔 评论,并且正如我在上面的链接中详述的那样,您需要在提交并推送父存储库之前将子模块推送到其自己的上游(以避免推送取消发布子模块提交)