我想知道在婴儿期管理项目的最佳做法是什么?让我解释一下我的意思。
最近我开始了一个新项目,涉及我不熟悉的语言和技术。结果每天都有大量的变化。事实上,我发现自己有一个完全不同的项目结构,一半的代码在一天结束时被重写,这并不罕见。
在这一点上使用版本控制似乎几乎是浪费精力。弄清楚在提交消息中写什么给我带来了一些白发。
那么......在这种情况下你们做了什么(假设你不需要在这个阶段与其他任何人分享项目)? 等到项目稳定下来然后把它置于版本控制之下,或者希望以后没有人注意到几十个无意义的“重新实现的一切”提交消息?
答案 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文件,以确保在重建过去的工作时找到正确的“起点”。