标签:-- 开发 fetch tin log bug xxx 合并 rebase
git rebase
是git下比较常用的命令,以下记录自己遇到较多的使用场景。
在多人协作的项目中,拉分支是很常见的事情,经常需要同步自己的分支与远端master分支一致,有两种方式:
两者的区别在于:前者会在生成一条 Merge branch master into XXX 的commit记录,而后者能保持commit干净。
git rabase
在开源提交PR时,能够更好地保持commit 整洁,消除了多余的 Merge log。
# 假设私拉分支为fix_bug,且当前处于此分支上
# 同步master分支
git fetch master
git rebase master
# 如何有冲突,会暂停rebase,需要手动解决冲突,然后
git add your_conflict_file
git rebase --continue
# 在任何时候,都可以终止rebase
git rebase --abort
# 会回到执行rebase前的状态
# 在当前分支git pull时有时候也会产生Merge记录
# 可以在后面加上--rebase,保持commit log整洁
git pull --rebase
# 合并最近提交的3条commit
git rebase -i HEAD~3
# pick 表示选择此次commit,squash表示将此commit和上一条commit合并
# 修改完之后,wq保存退出,会合并commit
# 切忌不要 git pull
# 因为合并的是远程已经push的commit,要应用合并,需强制push
git push -f
标签:-- 开发 fetch tin log bug xxx 合并 rebase
原文地址:https://www.cnblogs.com/CocoML/p/12727215.html