git rebase研究

一、把别的分支的commit顺序迁移到当前分支(重建基线),线性化提交历史
1、命令示意:
    git rebase dev // 把dev的commit应用到自己(feat-add-columns)的前面
2、执行过程
1》找到当前分支和dev分支各自的最新提交c1和c2;然后从c1和c2开始向前回溯,找到它们在提交历史上的“共同祖先”c0;
2》把当前分支上从c0往后的每个提交记录和c0进行对比,并把对比结果存到临时文件里;
3》重置当前分支的提交历史,使它和dev分支的提交历史保持一致,即:原本只出现在dev分支上的提交记录c1,现在也出现在了当前分支上;
4》在这个基础上,然后再逐一追加只在当前分支上出现的提交记录,比如:c2,整个过程才算结束。
二、整理提交历史
1、命令示意 
git rebase -i HEAD~n  # 在commit编辑器里 删除、编辑、调整顺序

git push --force-with-lease origin dev # 强制推到remote的dev分支
git rebase --continue

三、把远端的更新同步到本地
# 获取远端分支的最新更新
git fetch origin

# 切换到本地分支
git checkout dev

# 执行 rebase 操作
git rebase origin/dev

# 如果有冲突,解决冲突后继续 rebase
# 解决冲突
# git add conflicted-file
# 继续 rebase
# git rebase --continue

# 强制推送更改到远端仓库
git push --force-with-lease origin dev

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值