我不清楚以下是什么意思(来自git submodule update docs):
...将使子模块HEAD分离,除非
--rebase或--merge指定...
怎么--rebase/ --merge改变事情?
我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).
我们正在将我们(巨大的)项目转移到git,我们正在考虑使用子模块.我们的计划是在超级项目中有三个不同的头:发布,稳定,最新.项目负责人将处理释放和稳定的分支机构.他们将根据需要移动子模块.
问题是"最新"头.我们希望超级项目"最新"头部跟踪所有子模块的主分支(自动).如果能够显示子模块的所有提交历史,那也很棒.
我看过gitslave,但它不是我们想要的.有什么建议?
使用Git,我想在我的项目中包含一些常见的JS/CSS库和/或实用程序方法(即来自另一个repo的特定文件),我希望它能让它们始终保持最新状态.我真的不想要整个远程存储库.如果我可以处理远程文件的"本地副本"并将更改重新推送,则可以获得奖励.
一个有点平行的例子:在ASP.NET中,我会通过引用("远程")其他库的.dll文件(没有"copy local")来做到这一点,这样每当我重新编译外部库时,我的项目就会指向最新的版本.
我的项目是...... MyProject,我只想要外部存储库ExternalLibrary和External2中的几个文件.我不想在其他地方克隆每个存储库,并将文件复制粘贴到我的存储库中.如果我做了改进MyProject/scripts/common1.js,我想把它推回到ExternalLibrary.
相关参考: