Swift 将一个经过大量更改的私人项目恢复到其旧的公共存储库(该存储库已经非常流行,无法替代)的最佳方法是什么?

Swift 将一个经过大量更改的私人项目恢复到其旧的公共存储库(该存储库已经非常流行,无法替代)的最佳方法是什么?,swift,xcode,git,github,storyboard,Swift,Xcode,Git,Github,Storyboard,我目前有一个公共存储库,这是我在GitHub上最流行的一个,我想保留它作为新的活动存储库。大约一个月前,我将公共代码带到了一个私有存储库,希望发布一个不同版本的项目,其中包含一些额外的(非必要的)功能,以及一个经过改进的UI 不幸的是(我讨厌我自己),我已经对私有存储库的代码进行了太多的bug修复和更新(包括对主焦点特性的结构大修),我希望它成为新的公共存储库,并将其作为目前的单一版本 大多数文件名仍然相同,但有一些小的警告。其中有一个图形用户界面组件(Interface Builder情节串连

我目前有一个公共存储库,这是我在GitHub上最流行的一个,我想保留它作为新的活动存储库。大约一个月前,我将公共代码带到了一个私有存储库,希望发布一个不同版本的项目,其中包含一些额外的(非必要的)功能,以及一个经过改进的UI

不幸的是(我讨厌我自己),我已经对私有存储库的代码进行了太多的bug修复和更新(包括对主焦点特性的结构大修),我希望它成为新的公共存储库,并将其作为目前的单一版本

大多数文件名仍然相同,但有一些小的警告。其中有一个图形用户界面组件(Interface Builder情节串连板),主要由IDE(Xcode)管理——我可能必须用新的文件版本完全替换这个文件,但这不是一个大问题,因为苹果不鼓励用户直接进入并编辑代码

如果您熟悉Xcode和Swift,您会认出下面的IDE。如果没有,项目文件将列在每个窗口最左边的列中,UI(情节提要)元素位于该列的右侧。不管怎样,这就是我的工作:

如您所见,项目名称也不同(旧版:
Ultra for Apple Music
→ 新增:
音乐主题

什么是完成新项目的最佳方式?我在想:

  • 在公共回购协议上创建新分支机构(不确定名称)
  • 手工复制和粘贴大部分代码(从私人回购到公共回购)
  • 添加其他Swift文件,删除新版本上不再使用的现有Swift文件
  • 完全替换故事板文件并手动重新连接IB中的所有对象
  • 将新分支与主分支合并
  • 有没有更好的办法?也许我应该直接提交给Master(我知道分支只用于规模小得多的更改)。我不希望GitHub上的项目更改看起来像是我删除了所有内容,如果不需要的话,我会重新添加所有内容


    同样,我不想替换已经公开的项目页面,因为它已经是我在GitHub上最受欢迎的项目了。也许我不完全理解你的问题,但我做了类似的事情,只是在Master中删除旧项目,然后复制粘贴新项目(有一个糟糕的网络库,并将其重写为新结构+内部逻辑更改),以澄清:“我将公共代码交给了一个私有存储库”表示您已将公共存储库的内容复制到新存储库中?因此,新存储库根本没有与公共存储库共享的历史记录(即,只有一个包含公共回购内容的大型“初始提交”?)。也许我不完全理解你的问题,但我做了类似的事情,只是在Master中删除旧项目,然后复制粘贴新项目(有一个糟糕的网络库,并将其重写为新结构+内部逻辑更改),以澄清:“我将公共代码交给了一个私有存储库”表示您已将公共存储库的内容复制到新存储库中?因此,新存储库根本没有与公共存储库共享的历史记录(即,只有一个包含公共回购内容的大型“初始提交”)?