Git Rebase
git rebase,就是分支能干净点(把当前分支head直接定位到被rebase的位置上),单纯用 merge 也可以。
操作步骤:
- featM 下开出的分支 featA。
- featM 更新到了 commitM。
- featA 有commitA1和commitA2。
- featA 想同步featM的代码,可以通过直接拉也就是 merge,也可以 rebase,rebase之后新被rebase的新代码会在暂存区。
- rebase 的前提是开出来之后最好没有推过远端。
- rebase 操作之后,会把commitA1和commitA2更新成新的 commit,如果有冲突,需要持续修改每次 commit 生成新的 commit,也可以针对自己的这些 commit 做丢弃或者调整顺序或者合并操作。
由于 rebase 会改变分支的历史,所以如果你之前已经把 featA 分支推送到了远端,那么在 rebase 之后,你需要用 git push -f 命令(或者 git push –force-with-lease 命令)来强制推送。但是请注意,强制推送会覆盖远端的历史,所以在多人协作的情况下,需要谨慎使用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jim zhang's Blog!