关于 rebase 、最常用的可能是使用 idea pull 代码的时候勾选的选项吧
对于本地分支 pull 对应远程分支实际上是建议使用 rebase 的、因为这些变更只在本地、并不会产生任何坏的影响。
这样子对于分支来说、会相对比较好看、并且对于公共开发、使用的是同一个分支、这样子就不会产生额外的分叉、当然要整个团队成员都是 rebase 、当 pull 远程分支到本地的时候。至于远程分支之间的合并、那就是另说了。
https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA
总的原则是,只对尚未推送或分享给别人的本地修改执行变基操作清理历史, 从不对已推送至别处的提交执行变基操作,这样,你才能享受到两种方式带来的便利。
至于压缩本地 commit 这个功能相对来说还是用得比较少。