核心的原因在于 rebase 会将需要移动的 commit hash 重新生成一遍. rebase 的本质是将需要衍合分支上的 commit 从与当前分支最近祖先 commit 起的所有 commit...那么问题又来了, 所谓的公共分支是指什么, 多人协作就是公共分支吗?..., 而是从当前的 feature 分支上
切出了一个分支,
rebase -i
rebase 后面加上 -i 参数, 其实是交互式的 rebase 命令.它可以可以修改 commit 信息, 顺序,..., 你可能会需要 git merge --squash, 你可能会有:
添加文件
添加文件2
添加文件3
这样的 bugfix 提交, 如果将这些合并到 deve 会显得有点乱, 所以使用 git merge...add -p 可以交互式地, 单文件内选择性提交.我们会经常遇到这样的场景, 也就是我们在单个文件里面一连修复了很多个 bug, 但是我们
忘记逐个 bug 进行提交记录, 但是如果直接将整个文件进行提交