我在Git存储库中拥有自己的Python库。我正在新的Git存储库中启动新的Python应用程序,这需要使用该库的子目录,我一定会对其进行修改。
如何将库的存储库的子文件夹导入应用程序存储库,以使应用程序开发过程中所做的修改最终可以带回到库的存储库中。在应用程序开发期间,库本身也将自行发展。
[我已经看到git subtree
here是将存储库的子文件夹包含到另一个存储库中的一个选项,但是我无法预见如何将更改带回库存储库并与库本身的提交合并可能同时收到了。
好吧,我已经找到了发送结果的方法,这些是将来可以帮助别人的命令。
来自this:
在将子树添加到my-app-repo
之前,先从my-company-library-repo
拆分一个子树:
# In my-company-library-repo
git subtree split -P src/app/providers/... -b feature-new feature
这将创建一个新的历史记录,其内容以src/app/providers/...
的内容为源,从feature
分支开始,并在此历史记录的末尾创建分支feature-new
。
然后将该新分支作为子树添加到my-app-repo
:
# In my-app-repo
git subtree add -P <destination-dir/feature> --squash <my-company-library-repo> feature-new
我完成了通过my-company-library-repo
进行更改以更新my-app-repo
的命令
git subtree push -P <destination-dir/feature> <my-company-library-repo> feature-new
这将从<destination-dir/feature>
中拆分更改,将其推送到feature-new
的分支my-company-library-repo
。然后,可以将提交合并/重新建立到my-company-library-repo