我对使用git的子模块功能感到非常沮丧。要么我还是没有弄懂它,要么它并没有像我期望的那样工作。以下是给出的项目情况:
Project
| .git
| projsrc
| source (submodule)
| proj.sln
在这种情况下,“source”指向另一个存储库,其中包含我们所有项目的共同源数据。在“source”下发生了大量开发,也在“projsrc”下进行了许多开发。不幸的是,“Project”指向源子模块的某个提交,而不是它的实际HEAD。据我所知,这是Git的常规行为。
我已经发现了:
git submodule update
只需获取与主项目一起提交的子模块版本。然而,我真的很想始终了解子模块的开发情况,但是我不知道如何正确地做到这一点。因此我的问题是:
是否可能将项目附加到子模块的HEAD, 而不管这是否会破坏项目的编译。 我只是不想总是进入子模块目录并在那里执行git pull。 因为我认为我可能会失去在子模块目录中所做的更改, 因为它只是附加到一个提交而不是任何分支。
请考虑以下限制: - 我们组中的开发人员并不熟悉所有VCS。我们过去使用非常庞大的svn存储库,根本没有任何外部存储库功能。 - 我们正在Windows上工作 - 最好是一种点击即忘的解决方案,因为大多数项目成员都害怕使用命令行界面 :)