当前位置:   article > 正文

Git 修改历史 commit 提交信息_git批量修改提交历史

git批量修改提交历史

修改最近一条提交的消息

git commit --amend
  • 1

修改多条提交信息

  1. 查看提交记录
git log  
  • 1

查看提交记录,可以看到commit 后面的 commitId

  1. 选择要修改的条数
// 使用 commitId 方式
git rebase -i 9217a88c7fad0917b83d4abaeac127197f7c7a7d
// -i后面的参数为需要修改的commit前一次 对应的 commitId

// 或指定修改条数
git rebase -i HEAD~3 	// 最近3条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

我的 Git Bash 会自动打开 VsCode 编辑,省去的部分命令行操作
在这里插入图片描述

  1. 进入 vim 编辑模式
    在这里插入图片描述
    根据自己需要选择修改方式,我这里需要修改前3条的 commit message,将 pick 修改为 reword
    命令行面板修改完之后,按 Esc 退出编辑,输入:wq保存并退出,之后就会进入编辑界面。

命令行窗口会出现提示信息,意思是如果要改日志,执行git commit --amend,修改完成后执行git rebase --continue
如果还有下一个修改,会提示再次输入,直到完成。

git 几种修改选择:

  • pick:保留该 commit
  • reword:保留该 commit,但我需要修改该commit的 Message
  • edit:保留该 commit, 但我要停下来修改该提交(包括修改文件)
  • squash:将该 commit 和前一个 commit 合并
  • fixup:将该 commit 和前一个 commit 合并,但我不要保留该提交的注释信息
  • exec:执行 shell 命令
  • drop:丢弃这个 commit
  1. 查看提交记录
git log
  • 1
  1. 更新到远程仓库
git push origin <branch_name> -f  // 一定要加上-f强制推送上去才可以
  • 1

提示:进入 REBASE 状态之后,退出 REBASE 状态,使用以下命令

git rebase --abort
  • 1

Git修改已经提交的用户名信息

  1. 指定修改条数
git rebase -i HEAD~3 	// 最近3条
  • 1
  1. pick 修改为 edit
    命令行面板修改完之后,按 Esc 退出编辑,输入:wq保存并退出,之后就会进入编辑界面。

  2. 这一步是关键,我们主要目的是修改提交者的信息,使用命令:

git commit --amend --author="作者 <邮箱@xxxx.com>" --no-edit

# 例如:git commit --amend --author="LL <test@163.com>" --no-edit
  • 1
  • 2
  • 3
  1. 继续执行下一条,直到操作完成,然后更新到远程仓库
git push -f
  • 1

撤消有冲突的git merge

git merge --abort
  • 1

这将尝试将您的工作副本重置为合并之前的任何状态。这意味着它应该还原合并之前的所有未提交的更改,尽管它不能始终可靠地进行还原。通常,您无论如何都不应与未提交的更改合并。

git reset --hard
  • 1

删除所有未提交的更改,包括未提交的合并。有时,即使在支持上述命令的较新版本的Git中,此行为也很有用。

git reset HEAD就是回退到当前版本。git reset HEAD^回退到上一版本。
git reset HEAD操作只对暂存区起效果,不对工作区的内容起效果。

在 Git 中显示有关远程仓库的信息

git remote show origin
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/483656
推荐阅读
相关标签
  

闽ICP备14008679号