Answers:
从最新的存档创建存储库并从那里开始工作会很简单,但是如何包含更改历史记录?
相当容易。有两种方法可以解决这个问题,具体取决于代码库从一个ZIP存档到另一个ZIP存档的清洁程度:累积UnZIP提交或每次提交后清理。
解决方案是首先基于最旧的存档创建一个git存储库,提交它,然后添加后续/逐步更新的东西,提交它等等。例如,假设您有三个名为/日期的档案,如下所示:
archive_20150801.zip
archive_20150804.zip
archive_20150806.zip
现在我将从unZIPping开始,archive_20150801.zip
并基于此创建初始git存储库。然后我会unZIP archive_20150804.zip
并拖动/复制 - 或只是unZIP到位 - 这样东西会覆盖旧的archive_20150801.zip
等等。同上archive_20150806.zip
。
但是,如果您想要在每个ZIP存档中将较新文件与较旧文件合并时更加准确,我建议您这样做:
git rm
删除包含repo的目录中的所有文件。一定不要删除特定的混帐东西一样.git
,.gitignore
和这样的。git add -A
并执行新提交。“提交内容,删除内容,添加新内容,提交新内容”方法的好处是,您最终不会得到可能仅存在于最终存储库中的早期版本代码中的杂散文件。每次提交都是ZIP包含的内容的纯粹反映,而不是累积的文件和目录堆叠在一起。
至于保留一些日期/时间历史的外观,你可以做一些花哨的步法并强制实际的git提交日期符合实际的存档日期,如本Stack Overflow答案中所述。但我个人认为过于复杂且容易发生风险; 我更喜欢让这样的任务尽可能简单。相反,我会设置一个提交消息,清楚地说明每个提交是什么样的:
承诺2015-08-01 ZIP发布档案。
这样,只需浏览提交评论历史记录,您就可以轻松了解将来提交归档文件的来源。
我自己完成了这个我通过这个旧学校管理的旧档案,“复制目录 - 并创建一个非管理的ZIP档案”方法,这很痛苦,但从长远来看它有助于为项目保留一些相似的编码历史记录。
add -A
在此之前做commit
什么?
git add -A
在提交之前使用。如果你想对这个过程更加干净,你可以手动 - 不要通过git-erase提交/添加之间的所有文件。如果您认为这是一种更好的方法,我已经编辑了我的答案来解释如何处理它。