处于初期阶段的项目(阅读:太多变化)和版本控制

时间:2013-09-02 22:54:18

标签: git version-control

我想知道在婴儿期管理项目的最佳做法是什么?让我解释一下我的意思。

最近我开始了一个新项目,涉及我不熟悉的语言和技术。结果每天都有大量的变化。事实上,我发现自己有一个完全不同的项目结构,一半的代码在一天结束时被重写,这并不罕见。
在这一点上使用版本控制似乎几乎是浪费精力。弄清楚在提交消息中写什么给我带来了一些白发。

那么......在这种情况下你们做了什么(假设你不需要在这个阶段与其他任何人分享项目)? 等到项目稳定下来然后把它置于版本控制之下,或者希望以后没有人注意到几十个无意义的“重新实现的一切”提交消息?

2 个答案:

答案 0 :(得分:1)

如果您还没有与任何人分享您的项目,请不要担心您的提交以及它们有多混乱,您可以随后使用交互式rebase将它们压缩以在与其他人共享代码之前进行清理:

git rebase -i <base-commit>

在rebase TODO列表中,在每个要提交到前一个提交的提交旁边添加s(用于“squash”),或者f(用于“fixup”)添加pick e953225 Add meow meow meow s def892d Add dogs (WOOF WOOF!) s c8321e2 Add foobar.txt s ecb173c Modify foobar.txt 但是,重用上一次提交的提交消息而不是组合它们:

{{1}}

您可以阅读有关squashing commits from the FREE online Pro Git book的更多信息。

答案 1 :(得分:0)

鉴于此时您正在彻底改变事物,最简单的方法可能是每天对开发目录的整个树结构进行ZIP或TAR,并将该文件放入版本控制中。这不是很有效,但它允许你在出现严重错误之后回到以前的努力。您仍应尝试包含可查看的version.txt文件,以确保在重建过去的工作时找到正确的“起点”。