赞
踩
原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。
在开发阶段,由于我们会频繁的修改代码,会存在多次提交同一个修改,如果我们不合并提交,在于其他人代码合并时,会存在大量的commit提交记录,不利于代码版本。主要用过两个主要命令,分别是git rebase 和git reset。
git branch
git checkout <分支名称>
检查代码是否干净
如果不进行这一步,后边合并时将报错以下错误提示,可先用git status 查看是否有需要提交的文件,没有的话就用git stash
查看commit提交日志,可以q退出
git log --oneline
git rebase -i HEAD~n
git rebase会打开一个vim文本编辑器(需要会修改保存和退出),显示了最近的 n 个提交记录。每个提交前面都有一个 pick 关键字,表示保留该提交。若要合并两个相邻的提交,只需删除第二个提交之前的 pick 关键字,改为 squash 或 s。同样,若要合并更多的提交,只需按照上述操作修改对应的提交行。
修改状态
详细查看第三步和第四部的截图,a463bad是最后一次提交,72615de是倒数第二次提交,我们的需求就是将a463bad合并至72615de,可进行如下修改。
确认
Esc如果无法退出到保存,可以Esc+鼠标左键。
wq保存并退出后,需要查看message,如果不想改可以继续wq
这里我们可以跟之前图片对照,可以发现1d6494d是合并2次commit的新提交,afc23f7是原来的倒数第三个提交。
提交到远程仓库
git push -f
git reset的本意是版本回退,回退时可以选择保留commit提交。我们基于git reset的作用,结合新建分支,可以实现多次commit提交的合并。这个不需要vim编辑,很少有冲突。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。