在过去的两年中,我仅涉猎GitHub(或完全使用Git)。但是现在我发现自己想要创建一个GitHub存储库,然后在某种程度上将代码的历史版本插入其历史中。这有可能吗?
背景是我有一个C ++实用程序类,我已经在线共享了20多年。早在1990年代GitHub出现之前,我就将其发布到CodeGuru和CodeProject等网站。从未真正将其移开。但是人们仍然给我发电子邮件给我,所以我认为我应该把它放到GitHub上,然后让他们对其进行编辑。
但是我的代码“历史记录”基本上按日期保存在我保存在一个文件夹中的许多静态版本中。如果可能的话,我希望将其与完整的历史记录一起发布。但是手动执行此操作会花费一些时间,因此,如果我可以首先将当前版本放在那里,然后再插入历史记录,那将是理想的选择。
我不认为这是可能的,但我想问一下
这可以吗?
答案 0 :(得分:1)
Git允许您重新设置内容(https://git-scm.com/book/en/v2/Git-Branching-Rebasing),这意味着您可以重写提交的历史记录(https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History),甚至可以更改提交的顺序,但是这些操作在发布项目之前必须完成。因此,似乎无法实现您想要的目标,即发布项目的一些历史记录,然后不时添加旧版本。
纯手工过程的替代方法:如果所有版本都存储在文件夹的集合中,则您可以编写脚本以从中构建git历史记录。基本上是这样的:
循环浏览文件夹,例如按日期(YYYYMMDD)排序
2.1。清空您的工作目录,除了它的.git子文件夹
2.2。将当前文件夹的内容复制到工作目录中并提交
发布您的git项目:)
希望这对您有帮助...