我一直致力于一个复杂的github项目,该项目一次又一次地对存储库进行了许多更改。有时我最终会制作许多讨厌的,有时候不必要的提交消息,这使得新开发人员很难理解项目的工作原理。
对我来说,编辑提交和提交消息最安全的方法是什么? 目前我有78个提交,我想对之前的提交进行更改(例如,squash commit 34-38或者可能编辑为commit 51的消息,依此类推)。
答案 0 :(得分:1)
至于安全部分:始终保留存储库的备份并确保创建备份(通过将目录复制到其他位置),然后再执行任何与git历史混淆的操作
只要它只是提交的顺序和你想要改变的消息,我发现git的交互式rebase(git rebase -i <sha-of-the-first-commit-you-want-tochange>
)是最直观的解决方案。它将在编辑器中打开提交历史记录,您可以通过在squash
前面添加行来移动行和压缩提交来更改提交顺序。打开它时会记录最重要的选项和用法。
请注意,这会更改所有提交ID,因此您需要强制将其推送到具有旧历史记录的远程处理器。如果您的仓库有任何货叉或由其他人开发,请务必告知他们并考虑更清洁的历史记录是否值得为每个人带来麻烦。