API版本控制同时保持git历史记录

时间:2013-01-11 04:03:57

标签: python git api version

我目前有一个v1 API,并为v2更新并创建了新脚本。 API由其他开发人员使用,由一堆脚本组成。在迁移和添加v2之前,我想确保我有一个成功的版本控制策略来继续。

目前,在使用API​​之前调用了一个bash脚本,您可以使用该脚本提供版本#或默认情况下为您提供最新版本。最初,我打算为每个不同的版本提供不同的子文件夹,但是对于在修订版和添加内容的脚本之间没有更改的脚本,git历史记录将无法正确保留,因为原始文件仍将驻留在v1子目录中并且不会是'git mv'ed。这显然不是最好的方式,但我现在想不出更好的方法。

任何建议都会有所帮助,但有一个限制是我们不能拥有不同分支的git子模块。只要脚本可访问,就没有其他限制(例如,可以删除用于设置的bash文件)。谢谢!

编辑:我们还有“API”目录上方的脚本,这些脚本是调用API的同一个repo的一部分(我们是我们自己的API的使用者)。使用任何版本的API时,这些文件的更改都必须可见,并且不能在最新版本中看到(与回购中的标签相关)

1 个答案:

答案 0 :(得分:2)

我认为您想在git存储库中使用标记。对于api的每个版本,请使用git tag vn,而无需维护文件的早期版本。您只需使用git checkout vn即可访问特定版本的所有文件。

如果您使用远程存储库,则需要使用标记--tags将标记发送到远程存储库,即git push --tags