美文网首页
git修改中间commit

git修改中间commit

作者: _宋江_ | 来源:发表于2022-07-13 16:34 被阅读0次

    可以通过rebse命令,修改最近一次提交以前的某次提交。不过修改的提交到当前提交之间的所有提交的hash值都会改变。

    首先查看提交日志,以便变基后,确认提交历史的修改

    git log

    git rebase 可以用commit~n或commit^这种形式:前者表示当前提交到n次以前的提交,后者^符号越多表示的范围越大,commit可以是HEAD或者某次提交的hash值;-i参数表示进入交互模式。

    git rebase -i <commit range>

    以上rebase命令会进入文本编辑器,其中每一行就是某次提交,把pick修改为edit,保存退出该文本编辑器。

    注意:rebase 命令打开的文本编辑器中的commit顺序跟git log查看的顺序是相反的,也就是最近的提交在下面,老旧的提交在上面

    注意:rebase 命令其实可以同时对多个提交进行修改,只需要修改将对应行前的pick都修改为edit,保存退出后会根据你修改的数目多次打开修改某次commit的文本编辑器界面。但是这个范围内的最终祖先commit不能修改,也就是如果有5行commit信息,你只能修改下面4行的,这不仅限于commit修改,重排、删除以及合并都如此。

    接下来修改提交描述内容或者文件内容:

    git add -u *

    git commit --amend

    然后完成变基操作

    git rebase --continue

    相关文章

      网友评论

          本文标题:git修改中间commit

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