当前位置:   article > 正文

git修改本地及远程历史commit提交信息_修改本地commit和远程commit

修改本地commit和远程commit

修改最近提交

背景:发现已经push到远程分支的commit信息不够规范,想要将其覆盖,而不是添加多一条新的commit信息。

法一: “git commit --amend”

该命令可修改最近一次提交的提交信息。

  • 若想修改最近一次提交的内容:

修改内容后暂存它们,然后再用该命令提交新的内容,以替换掉旧的最近一次提交。

  • 一般内容修改后,commit的信息也会有修改的需求。如果不想修改提交信息,仅仅是修改了内容:

同样是修改内容后暂存它们,然后通过以下命令避免不必要的编辑器环节即可:

git commit --amend --no-edit

修改远程的提交信息

这只是修改了本地的提交信息。若要修改远程的,需要强制推送:

git push --force

法二: “git rebase -i HEAD~1”
  1. 首先,使用 “git log” 查看历史记录。提交记录会按时间倒序展示,即前面的是最后提交的。
    log记录

  2. 接着,用该命令确认我们想改的提交。这意味着,该命令可修改多个提交。如,想修改3个:

git rebase -i HEAD~3

终端会显示我们要修改的提交:command(pick) + commit id + commit message
确认要修改的提交

此时的展示顺序是按时间顺序排列的。即,第一行是最早提交的信息。

  1. 其次,将我们想修改的提交的命令由 “pick” 改为 “edit” 。修改完成之后,保存修改。

  2. 依次使用 “git commit --amend” 和 “git rebase --continue” 修改
    在第三步,我们保存了修改之后,git的分支就会改为第一个edit的commit id。接着我们输入命令 “git commit --amend” ,同法一,这时便可以修改提交信息。修改完后,输入命令 “git rebase --continue” 保存,继续修改下一个。以此类推。最后全部完成后,会提示:

Successfully rebased and updated refs/heads/master.

在这里插入图片描述

5.使用 “git push -f” 强制更新远程服务器

注意
  • 在上述操作之前我们要保证当前分支是最新代码,且已经提交了所有本地修改。
  • 强制推送时,一定要加 -f,否则我们edit的commit会添加到之前的commit后面,而不是更新原来的commit。
  • 在编辑提交信息时,若没有设置,会默认打开vi编辑器:
    • 按 i 键,开启编辑模式;
    • 编辑完后按下 esc 键退出编辑;
    • 输入 “:wq” (在末行显示)保存并退出编辑器;
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/914642
推荐阅读
相关标签
  

闽ICP备14008679号