我目前正在研究使用 Git 管理来自 OpenInsight 应用程序的源代码。由于 OI 代码存储在数据库表中,因此需要进行一定的手动工作才能将源代码导出为文本,反之亦然。
到目前为止,我已经设法使用 Git 钩子自动化了很多这项工作,但是缺少“预结帐”钩子给了我一个问题。
当用户切换分支时,我有一个结帐后挂钩来区分新旧分支并存储已更改过程的列表。当用户下次启动 OI 时,更改会从文本文件中提取并编译.. 到目前为止一切顺利.. 但是,如果用户要切换分支,比如说从 A 到 B,然后再次切换到 C 而不启动OI 然后 OI 中的源将用于分支 A,但差异将在 B 和 C 之间。
为了解决这个问题,我希望能够使用预检出挂钩来检查是否存在包含未编译更改列表的文件,并停止用户切换分支,直到它们被编译。还有其他建议吗停止结帐的方法?