恢复搞砸了的开源库版本控制

Reverting screwed up versioning of open-source library

我一直在写a library to get radial ui widgets in libgdx

作为我编写的第一个库,我不得不亲自动手使用 JitPack 并做了一些实验来尝试做正确的事情。但是,由于过于热衷于使用我的库(菜鸟错误),我很早就发布了第一个版本。

那时,我想遵循 semantic versioning 原则,因此对于打破 API 的每个更改,我都增加了主要数字。按照现在的节奏,再过几天,图书馆可能会达到v3.0.0,这在某种程度上是可笑的。

我从 0 开始,但同时保持相同图书馆名称的最佳方式是什么?

我知道 JitPack 的常见问题解答说:

What happens if a tag or repository is deleted on GitHub?

If the project was already built then JitPack will continue serving the existing artifacts. It will not rebuild the project at the new tag. In case you need to redo a release the best option is to create a new version on GitHub.

但我对这个答案并不满意:它提到 "the best option",因此暗示可能还有其他解决方案。另外,当他们提到 create a new version on GitHub 时,他们的意思是“advance the current version in a new release, once again”还是“create an entirely new repo”?

我很有信心我只是搞砸了,一般来说,所以我将不得不忍受它或创建一个新的回购协议,但我想确定。

What is the best way for me to start back from 0, but while keeping the same library's name?

从技术上讲你可以,但你不应该:人工制品仍然由 jitpack 提供服务,在某些时候你可能有版本重复,这对你的库的现有用户来说是一团糟。

when they mention create a new version on GitHub, do they mean "advance the current version in a new release, once again", or "create an entirely new repo" ?

我认为他们建议在 github 上删除您的 release/tag,根据其他提交重新创建它们以重建发布版本。但是你也不应该这样做,同样,它会弄乱你的图书馆用户已经下载的工件。

结论,当 release/tag 已经发布时,您无法真正返回。正如您所说:接受它或使用新组 and/or 工件名称创建一个新的回购协议。