我有一个项目,我使用Git管理的源代码。这是一个很大的项目 - 相对于我的经验 - 我觉得我会在完成后的某个时刻完全重写。虽然这是一个很长一段时间我都不会遇到的问题,但我很好奇:如何用Git完成一次完整的重写?
最好是制作一个全新的仓库来管理代码吗?或者也许分支我的WC并在那里重建?虽然它可能取决于细节(例如,将重写多少代码,我希望能够引用旧文件或代码行),处理此问题的最佳方法是什么?为了一般性的缘故,让我们回答这两个问题:想象一下完整的重写,但是如果你愿意,可以从1.0版本中学到经验教训。
我希望这是有道理的。如果您需要更多说明,请与我们联系。感谢。
答案 0 :(得分:13)
这取决于您计划如何进行重写。你真的把所有东西扔掉,从头开始重写,然后开始一个新的Git回购可能是一个好主意。但我不建议这样做;可能有很多很好的知识(测试,文档,大多数人一开始都没有想到的奇怪角落的bug修复等等;正如你所说,从1.0中学到的经验教训)嵌入你想要的旧实现中留在新的。
所以我建议在分支机构工作,或者克隆repo并在克隆中工作。尝试将重写作为大规模重构,而不是从头开始重写可能是个好主意。尝试在重写代码的过程中保持尽可能多的代码工作,永远不要太长时间,任何损坏或主要功能被剥离。你会感到惊讶的是如何使用旧的代码库并进行大规模的重构,你要注意不要破坏正常工作的东西,比基础重写更有效。重新进行重写通常可以让你看起来像90%(使用标准,从90/10的空中统计数据中得出)旧的快速做的东西,以及更干净/快速/新/闪亮/更好的东西但是你发现最后10%是关键的,实际上比你想象的要困难得多,而且你意识到很久以前在旧系统中修复的错误又在新系统中再次出现。