git 修改commit信息以及提交

本文介绍了如何在Git中修改最近一条或多条commit的内容,包括使用`gitcommit--amend`、`gitrebase-i`以及处理代码冲突和强制推送的方法。同时,还介绍了commit常见类型及其书写格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近公司建立一些关于commit的检测机制,导致很多代码在远程合并的时候,提示commit内容有误,这就导致很多commit需要去修改
这里就记录,希望对大家有所帮助

1.只修改最近一条

 git commit --amend 

键入命令就可以修改了 这时候我们会进入到vim 界面
在这里插入图片描述
这里就是window系统按insert 键插入 修改 ,mac系统没有insert 就按字母 i 就可以进入到 vim的 编辑模式
在这里插入图片描述
然后开始修改内容 修改完自己 合适的commit之后呢 ,就 esc 返回 然后键入

:wq

保存并返回即可,这样最近一条就被修改成功了

2.如果是要修改多条历史记录的情况下

首先

git log

查看历史记录

在这里插入图片描述
比方说我们要改到这一条
这时候我们就键入命令

 git rebase -i  0ae22b7aee784931e882294cba25e7860a671131

就进入到下一个界面了

 git rebase -i

这个后接的就是 你要修改的commit的 下一条 commit编号
在这里插入图片描述
同样的操作 insert 插入 或者 i
这里有几种修改选择:

  1. pick:保留该 commit
  2. reword:保留该 commit,但我需要修改该commit的 Message
  3. edit:保留该 commit, 但我要停下来修改该提交(包括修改文件)
  4. squash:将该 commit 和前一个 commit 合并
  5. fixup:将该 commit 和前一个 commit 合并,但我不要保留该提交的注释信息
  6. exec:执行 shell 命令
  7. drop:丢弃这个 commit

这里有一点要注意 不要在 这里 进行 commit 内容的修改 会识别不到 匹配内容导致无法更改

按照实际需要去选择命令,我们这里需要的是 reword,用来修改 Message。
在这里插入图片描述
只去修改 你想要修改的 commit内容就好了 然后esc

:wq

保存退出,就会逐个进入到你 刚才前面有 reword 的 commit 修改界面
在这里插入图片描述
然后逐个修改 :wq 保存就可以了

历史记录就可以提交了

假如你这里是在远程 拉下来的代码 提交到远程的时候会 提示代码冲突 因为 你本地的 commit 跟 git 仓库的 commit的记录是 不同的
如果你先 pull 再 push 这时候就本地的 commit 就会被线上的 commit记录全部覆盖 白改了
这时候就使用强制推送命令

git push --force --tags origin 当前分支名

强制推送到远程分支并覆盖 这样了话 远程的commit也就被修改了

补充一下 commit 常见的类型 格式

提交必须以类型为前缀,该类型由动词、feat、fix 等组成,后跟冒号和空格

  1. build:影响构建系统或外部依赖项的更改(示例范围:gulp、broccoli、npm)
  2. ci:对 CI 配置文件和脚本的更改(示例范围:Travis、Circle、BrowserStack、SauceLabs)
  3. chore:不改变源代码或测试的更改,例如对构建过程、辅助工具和库的更改
  4. docs:仅文档发生变化
  5. feat:一个新功能
  6. fix: 一个错误修复
  7. perf:提高性能的代码更改
  8. refactor:既不修复错误也不添加功能的代码更改
  9. revert: 恢复某些内容
  10. style:不影响代码含义的更改(空格、格式、缺少分号等)
  11. test:添加缺失的测试或纠正现有的测试

例子

build: update npm dependency

ci: add circleci configuration file

docs: fix typo in foo.md and bar.md

perf: optimize database query for faster response times

feat: allow provided config object to extend other configs

fix: resolve issue with incorrect data rendering

refactor: reorganize code structure for better readability

style: format code according to Prettier standards

test: add unit tests for user authentication

如果你想要更明确一点 可以指定范围

书写结构如下
范围是可选的支持多个范围

类型(范围?): 主题内容
build(deps): upgrade packages

style(deps): remove whitespace in requirements.txt

feat(lang): add Chinese language
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值