Answers:
使用您本地存储库的副本进行开发时可以使用的任何内容。
我定期提交损坏的代码,当我准备将代码提供给其他开发人员时,我使用了一项很棒的功能:
git rebase -i HEAD~4
这使我可以将可能已损坏的中间文件(本例中为4个)压缩为一个良好的提交。将为您提供一个编辑器,使您可以选择如何压缩这些提交。通常,我将第一个提交标记为“ pick”提交,并将其他提交标记为“ squash”。
然后,我可以推送一个原子提交,或者如果我的新功能真的准备就绪,那么我可以做的就是使用'git cvsexportcommit'将我的工作纳入现有的CVS回购中。
rebase
是一个颇有争议的观点:您不可撒谎:git改变了基调,修改,压扁和其他谎言
归根结底,这取决于您和与您一起工作或与之共事的人,因为git不施加任何规则。
我的做法是避免任何有意使系统严重恶化的提交。每个提交都应该重构或实现某些要求。如果我做出错误的提交并在推动它之前发现它,那么我将进行修改或调整基准以将其从历史记录中删除。
我认为这使得读取请求请求中的git日志更加容易,因为每个提交都应独立存在,作为重构或某些要求的实现。添加将在不久的将来变为现实的无效代码被视为重构。这些是我的“逻辑块”。
您仍然可以灵活地调整提交的结构。例如,您可以预先编写测试,但在第一次提交中将它们标记为已跳过,这样您的测试套件就不会报告失败,然后在实现完成后取消跳过它们。