Under SublimeText I use (and contribute to)
a plugin to integrate Git, then use Git tags for versioning (scheme differs based on project,
SemVer is a good idea).
For publishing I use CurseForge's packager and my
proxy, although something like BigWigs's
packager running under
TravisCI works well too (we use that for oUF).
Afaik, VSCode has built-in Git/GitHub support.