使用Git处理多个相互依赖的项目

时间:2016-03-14 08:02:40

标签: git workflow git-submodules git-worktree

我的问题如下:

我正在开发2个Python包A和B,B使用A.因此,当我在包A中更改某些内容时,我经常需要对包B进行一些小的更改以适应函数调用等。

我的软件包都是git存储库。我希望能够在一次提交中提交来自两个repos的更改。但是,我希望能够在每个仓库中单独提交。

我检查了git子模块和git worktree,但它似乎并不是我需要的。你知道其他方法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我不认为这是可能的。提交基本上是生成在对象数据库中的文件集合,提交本身保存在同一个数据库中,该数据库位于.git/内部。因此,一个存储库中的一个提交不能包含另一个存储库中的文件,因此您无法一次提交多个存储库。

如果您觉得需要在一次提交中更改两个存储库,可能应将它们合并到一个存储库中(我知道可能有理由不这样做)。或许你应该重新审视一个人与另一个人融合的方式,这样一个人的变化就不会总是引发另一个人的变化。最终,听起来你正在尝试使用错误的工具来完成工作。