我面临着在共享公共库的多个项目之间保持一致性的挑战。这是场景:
现在,帮助程序库在项目之间不同步。我想保持它轻松同步而不破坏现有代码。我想出的唯一解决方案是创建版本化函数:
def anonymize_ip_v1(ip):
# Original implementation
pass
def anonymize_ip_v2(ip):
# New implementation
pass
这是最好的方法吗?是否有更优雅的解决方案来使用共享库管理多个项目的函数版本控制?我愿意接受有关更好的代码组织、版本控制策略或包管理技术的建议,这些技术可以帮助解决这个问题。
如果我没理解错的话,你有 3 个不同的 GitHub 存储库:
如果正确,您可以使用 GitHub 中的标记功能,这样您就可以推送 anonymize_ip 的第一个版本,并在 GitHub 中为库项目设置标记,例如
1.0.0
。
此后,您可以在项目 A 和项目 B 中使用指定的库标签安装该库(以下诗歌示例):
library = { tag="1.0.0", git = "ssh://[email protected]/your-github/library.git" }
当您需要更改库中的某些逻辑时,您可以提交新逻辑,推送它并构建新标签,例如
1.1.0
此后,您可以通过在您的需求中切换版本来安装新版本的库:
library = { tag="1.1.0", git = "ssh://[email protected]/your-github/library.git" }