2015-07-21 37 views
0

我有一个跨平台的项目,依赖于我自己的一些库。该项目和每个图书馆都有各自的存储库,可以看到定期更改。在项目更改之前确保资料库更改已完成?

图书馆是抽象的模块,仍然与项目一起发展,但不是特定于该项目(虽然目前,该项目正在驱动大部分这些变化)。项目依赖于这些,所以库更改应始终在关联的项目更改(即由于库界面的更改而产生的更改)之前提交。

我的问题是我经常忘记在SourceTree中首次提交库的更改,

现在,我创建了硬链接到我的项目文件夹中的库文件。这样,因为操作系统处理链接,所以我不需要愚蠢的相对路径退出项目文件夹(例如../../../my.h),当项目文件夹结构发生变化时(如刚刚发生的情况),这可能会改变。更重要的是,这将确保我将在SourceTree(项目中)中看到对这些文件的更改,并且每次都将它们作为项目的一部分提交。 Re Library repos,我可以在SourceTree注意到这些回购有变更集(这是我通常首先忘记的任务)时可以提交相同的更改。足够好...现在。

有没有更好的方法来处理这个简单?我不希望有作为项目的一部分承诺的图书馆也 - 不必要的重复。我也尝试过在项目中的硬链接上使用.gitignore,以便我永远不会将它们作为项目回购的一部分提交,但当然我回到了原点 - 因为我只看着项目,我仍然忘记提交项目变更前的库更改... 这意味着任何给定的构建可能会因为相关库更改不存在于该提交而中断。

回答

0

看起来像git submodules是要走的路。幸运的是,它们在SourceTree中得到了支持。