git获取源项目更新并将提交记录合并为一条

最近使用gitee进行开发,当源仓库更新了代码,需要对自己的仓库进行rebase并解冲突,再提交最新的代码。经常会有这种情况,pull request出现了n条记录,非常丑陋,例如:
git获取源项目更新并将提交记录合并为一条_第1张图片

1 向源仓库对齐(rebase+解冲突)

# 获取源项目更新
git fetch source_proj
# 将source_proj/master分支的变化合并到本地master分支
git merge source_proj/master
# 向自己的远程master分支更新
git push origin master
# 从远程仓库master拉取最新代码到mybranch
git pull --rebase origin master
# 解冲突之后,继续rebase(注意此时不要commit)
git add .
git rebase --continue
# 推送到mybranch
git push -f origin mybranch

2 合并提交记录

若此时想要将最近的两次提交合并为1次,使用

git rebase -i HEAD~2

进去之后最上面一行pick留下,其他的pick改为squash(或s),
请添加图片描述
保存之后跳转,编辑commit message,将不需要的message前面加#

最后推到远程仓库,这样就只有一条提交记录了。
git获取源项目更新并将提交记录合并为一条_第2张图片

参考

fork的项目如何同步仓库源的最新更新

Git多个commit合并成一个【中间提交合并 尾部提交合并】

git rebase -i HEAD~3合并多个提交为一个提交

你可能感兴趣的:(git,github)