gpt4 book ai didi

git子模块功能与 sibling ?

转载 作者:太空狗 更新时间:2023-10-29 13:26:44 24 4
gpt4 key购买 nike

我有一个由库和各种应用程序组成的项目:

foo/
foolib/
bar/
baz/
qux/foo/

所有应用程序都链接到静态库 foolib

我希望 git commitfoo 上记录 foolib 所在位置的 SHA1 ID,以及 git statusfoo 上报告 foolib 中是否有未提交的更改。

但是我不想将 foolib 移动到将它的副本作为每个应用程序的子目录。除了臃肿之外,这将失去在多个应用程序中尝试对 foolib 进行某些更改而不提交更改的能力。

我尝试制作一个指向 ../foolib 的 .gitmodules 文件,但它似乎被 git status 完全忽略了。我还尝试将 foolib 设为 foo 中的软链接(soft link),但 git 似乎将软链接(soft link)视为文件而不是跟随链接。

我想要的是可能的吗,或者你们有任何替代的工作流程解决方案吗?

在我的公共(public)存储库中,结构是相同的,并且每个应用程序(和 foolib)都是从公共(public)存储库中单独克隆的。

最佳答案

想法是创建另一个 repo fooProject,它将声明为子模块:

  • foo
  • foolib

(如果您将父项目称为 appProjects 而不是 fooProject,则可以将所有子目录声明为子模块:foofoolib, bar, baz, ...)

如果任何子目录(foofoolib)发生更改并进行新的提交,您将返回到父存储库并按顺序进行提交记录不同子模块的SHA1。

关于git子模块功能与 sibling ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com