我目前有一个v1 API,并已更新并为v2创建了新脚本。该API由其他开发人员使用,并由一堆脚本组成。在迁移和添加v2之前,我想确保我有成功的版本控制策略。API版本控制,同时保持git历史记录
目前,在使用API之前调用了一个bash脚本,您可以使用该脚本提供版本#或默认为您提供最新版本。最初,我打算为每个不同的版本设置不同的子文件夹,但对于在修订版和脚本之间不会更改的脚本来添加内容,git历史记录将无法正确保存,原始文件仍将保留在v1子目录中并不会'混帐mv'ed。这显然不是最好的方式,但我目前无法想到更好的方法。
任何建议都会有所帮助,但一个限制是我们不能拥有一个具有不同分支的git子模块。只要脚本可以访问,就没有其他限制(例如,用于安装的bash文件可以被删除)。谢谢!
编辑:我们也有“API”目录之上的脚本,它们是调用该API的同一个仓库的一部分(我们是我们自己的API的消费者)。使用任何版本的API时,这些文件的更改都需要显示,并且不能仅在最新版本中看到(与回购中的标记相关)。
有一件事我忘了提及(我会添加它)是有其他脚本生活在API子目录之上(实际调用API),如果我们标记API的特定版本,这些脚本不会有最新的更新。 – xshoppyx
为什么你需要维护你的API的旧版本?你不能只维护最后的版本,如果你需要回到以前的版本,使用git来获得早期版本的文件? –
因为我们必须为使用该版本的其他人支持他们。没有足够的资源(或真正的理由)迫使所有消费者更新到v2。 – xshoppyx