我目前有一个v1 API,并为v2更新并创建了新脚本。 API由其他开发人员使用,由一堆脚本组成。在迁移和添加v2之前,我想确保我有一个成功的版本控制策略来继续。
目前,在使用API之前调用了一个bash脚本,您可以使用该脚本提供版本#或默认情况下为您提供最新版本。最初,我打算为每个不同的版本提供不同的子文件夹,但是对于在修订版和添加内容的脚本之间没有更改的脚本,git历史记录将无法正确保留,因为原始文件仍将驻留在v1子目录中并且不会是'git mv'ed。这显然不是最好的方式,但我现在想不出更好的方法。
任何建议都会有所帮助,但有一个限制是我们不能拥有不同分支的git子模块。只要脚本可访问,就没有其他限制(例如,可以删除用于设置的bash文件)。谢谢!
编辑:我们还有“API”目录上方的脚本,这些脚本是调用API的同一个repo的一部分(我们是我们自己的API的使用者)。使用任何版本的API时,这些文件的更改都必须可见,并且不能在最新版本中看到(与回购中的标签相关)
答案 0 :(得分:2)
我认为您想在git存储库中使用标记。对于api的每个版本,请使用git tag vn
,而无需维护文件的早期版本。您只需使用git checkout vn
即可访问特定版本的所有文件。
如果您使用远程存储库,则需要使用标记--tags
将标记发送到远程存储库,即git push --tags
。