记一次github合并commit

如题,最近因为项目采用pr的方式进行提交,但是由于各种原因,commit的次数过于多且大部分无用,因此想着去合并多次commit,使pr看起来简洁易懂。

首先用git log --oneline
记一次github合并commit_第1张图片
可以看见 25d525d-38fe6d8次提交我想合并到一个提交里面, git rebase -i 55f626d,55f626d次提交不会被包括。
会进入下图界面
记一次github合并commit_第2张图片
介绍一些常用:

pick 	使用当前提交 (可以使用首字母p代替  下面的全部用首字母代替)
r       使用当前提交,但重新编辑提交信息
e		使用提交,但停止修改
s		使用提交,但会合并早期的提交信息
d		移除提交

tip: squash and merge 是pr中比较常用的
tip: 第一行必须用能保留提交的关键字修饰 如r、p、e
如果出现了冲突 就要根据提示先解决冲突 然后git rebase --continue ...

最后修改好了之后 git log --oneline 可以看见本地的commit记录已经修改好了,然后将之推到远程。

git push origin master

后你就会发现 会提示你先拉取最新的代码,拉取之后再提交你会发现 先前合并的提交并没有消失反而会多了两行代码!

后来查资料发现在推送的时候一定不能先pull 因此每次合并前要保证是最新的代码。
然后 再来一次 git rebase -i 除了最新生成的一次提交,别的都用 d 然后再强制提交一次
git push -f origin master 就可以了

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