美文网首页ios developers
git rebase -i HEAD~6 合并多个提交

git rebase -i HEAD~6 合并多个提交

作者: Gopal | 来源:发表于2019-06-21 14:58 被阅读0次

    场景

    场景:有时候我们修改一个 Bug 或者一段代码的时候, commit 一次之后,发现 Bug 没改对或者这段代码需要再优化之类的,改完之后又 commit 了一次或多次,这样就会感觉提交历史不太美观(有点强迫症),这个时候我们就希望只想保留一次提交历史记录,合并为一个完整的提交,该怎么办呢?git rebase 应运而生!

    步骤

    查看历史,确定要合并的提交
    git log

    注意,不要合并了其他人的提交,不要合并了其他人的提交,不要合并了其他人的提交

    合并命令

    git rebase -i HEAD~6 或者 git rebase -i ***

    *** 指的是你的某个提交

    修改第 2~6 行的第一个单词 picksquash or s,然后 输入:wq or x 保存退出。

    pick 的意思是要执行这个 commit
    squash 的意识是这个 commit 会被合并到前一个 commit

    中间可能会出现的情况
    git 会压缩提交历史,若有冲突,需要进行修改,修改的时候保留最新的历史记录,修改完之后输入以下命令:

    git add .
    git rebase --continue
    

    若想退出放弃此次压缩,执行命令:
    git rebase --abort

    若无冲突 or 冲突已 fix,则会出现一个 commit message 编辑页面,修改 commit message ,然后 输入:wq or x 保存退出。

    同步到远程 git 仓库
    输入:git push -f or git push --force
    查看远程仓库效果,多次 commit 已被合并成一次 commit。

    相关文章

      网友评论

        本文标题:git rebase -i HEAD~6 合并多个提交

        本文链接:https://www.haomeiwen.com/subject/pfpyxctx.html