经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目。也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的。这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。一般来说我只能在父项目中维护一段逻辑来同步这些子项目。在同时维护多个父项目的时候这个过程将变得非常麻烦。
其中最官方的方法是使用git本身的submodule,它本身带了非常全面的功能。但实际上在工程中,它丰富的功能导致了它反而很可能因为操作失误而影响父子项目之间的独立性。(例如在编辑父项目时修改到子项目的代码并提交了)
针对这个问题,借鉴了gitsubmodule的形式设计了一个小工具来进行子项目管理。它只会保留 在主模块中你只需要 这样做之后,在执行代码时,pysubmodule会自动同步配置在json中的子模块。 执行前目录结构 执行后目录结构 欢迎star与fork :) 欢迎PR与issue指教 这里提供一种动态获取json绝对路径的方法clone
与pull --rebase
,避免影响到仓库。github链接:import pysubmodule
pysubmodule.sync('/Users/williamfzc/abc/pysub.json')
.
├── pysub.json└── run.py
.
├── abc│ └── def│ └── tornado_demo│ ├── README.md│ └── run.py├── pysub.json├── run.py└── tornado_demo
├── README.md
└── run.py
Bug & 讨论
import pysubmoduleimport os
root_path = os.path.dirname(__file__)
json_file = os.path.join(root_path, 'pysub.json')
pysubmodule.sync(json_file)
作者:williamfzc
链接:https://www.jianshu.com/p/9d7178cc3084
共同學習,寫下你的評論
評論加載中...
作者其他優質文章