修改最近一条提交的消息

git commit --amend

修改多条提交信息

  1. 查看提交记录
git log

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

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

// 或指定修改条数
git rebase -i HEAD~3 	// 最近3条

我的 Git Bash 会自动打开 VsCode 编辑,省去的部分命令行操作

gitlab 项目修改群组 gitlab修改commit消息_git

  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. 更新到远程仓库
git push origin <branch_name> -f  // 一定要加上-f强制推送上去才可以

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

git rebase --abort

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

  1. 指定修改条数
git rebase -i HEAD~3 	// 最近3条
  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. 继续执行下一条,直到操作完成,然后更新到远程仓库
git push -f

撤消有冲突的git merge

git merge --abort

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

git reset --hard

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

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

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

git remote show origin