我有一个跨平台项目,它依赖于我自己的一些库。项目和每个图书馆都有各自的存储库,可以看到定期更改。
图书馆是抽象模块,仍然与项目一起发展,但并不是特定于该项目(尽管目前,项目正在推动大部分变更)。项目依赖于这些,因此应始终在关联的项目更改之前提交库更改(即由于库接口的更改而进行的更改)。
我的问题是我经常忘记在SourceTree中首先提交库的更改。
目前,我已在Project文件夹中创建了库文件的硬链接。这样,因为OS处理链接,我不需要退出Project文件夹的愚蠢的相对路径(例如../../../my.h
),这可能会在Project文件夹结构发生变化时发生变化(刚刚发生)。更重要的是,这确保我将在SourceTree(在项目中)中看到对这些文件的更改,并且每次都作为项目的一部分提交它们。 Re the Library repos,好吧,我可以提交相同的更改,当我最终在SourceTree中注意到那些repos有更改集时(这是我通常忘记先做的任务)。足够好......现在。
有没有更好的方法来处理这个?我不希望将库作为项目的一部分提交也 - 不必要的重复。我也在项目的硬链接上试过.gitignore,所以我永远不会将它们作为Project repo的一部分提交,但当然我回到原点 - 因为我只看了Prject,我仍然忘记在项目更改之前提交库更改... 这意味着任何给定的构建可能会被破坏,因为该提交不存在关联的库更改。
答案 0 :(得分:0)
看起来像git子模块是要走的路。幸运的是,SourceTree支持它们。