相关: 每个git commit都应该使项目处于工作状态吗?
假设我在本地进行了以下提交:
修改数据库架构,破坏应用程序。
更新应用程序,使其再次与数据库架构兼容。
只要我同时推送两个提交,master
便会保持工作状态。但是,历史版本已损坏。
我知道我可以git rebase -i
用来将提交压缩在一起。但是,生成的提交将很大且描述性较低。如果我需要搜索提交历史记录以找出更改原因的原因,我宁愿找到显示我所做的事情和原因的原始提交。
我的问题是:
有没有人遇到困难,由于打破历史的主人提交?
如果是这样,是否有一种简单的方法可以避免这些困难,而又不丢弃各个提交消息和更改?