git commit 内容不合规,代码提交不上去,怎么办

前言

前两天遇到代码提交不到远程仓库了。查看log,发现不符合提交规范,少一个空格。哎,比较尴尬的是有两次提交都不符合规范。原本想着提交完代码,就下班回家。看来又要被动加班了。最终用git rebase 去解决commit内容,之前很少用到reabase,又重温一下reabse的使用。

实现

git commit --amend

如果我们提交的内容只有最后一次有问题,就比较简单了,git已经帮我提供好了命令,比较简单,借助--amend 的参数就可以实现。

首先,我们在需要修改的commit的控制台下输入

git commit --amend

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mdZHNGNV-1658890673389)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0e819f7514ce4679a1d0dd0db952bcc3~tplv-k3u1fbpfcp-watermark.image?)]

这时候,vi编辑,修改内容,保存就可以了

git reabase

修改commit内容可以使用reabase中的rewordedit.

  • edit:通过使用命令"edit"替换命令"pick",可以告诉git rebase在应用该提交后停止,以便您可以编辑文件和/或提交消息,修改提交并继续重新定位.
  • reword:如果只想编辑提交的提交消息,请将命令"pick"替换为命令"reword".

在这里,我们不需要修改文件的内容,就使用reword

  1. 找到修改范围,这里可以借助 git log查看提交的commit id, 当然你可以借助一起其它参数,来优化你的显示,这里推荐使用

git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an %ae>%Creset'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nmc7QTxA-1658890673390)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d036e93495f643289e76819c671bd729~tplv-k3u1fbpfcp-watermark.image?)]

  1. 执行get reabse -i fbf5044

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oqhtx0nW-1658890673392)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/34264c81ee1b43849d5aa7287cdcb466~tplv-k3u1fbpfcp-watermark.image?)]

把需要修改commit内容的pick换成reword后,退出vi编辑模式,输入 :wq!

  1. 通过vi修改commit内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FldwQw4l-1658890673392)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c5258f13bd714ca8aa27f9d9f500820e~tplv-k3u1fbpfcp-watermark.image?)]

输入 :wq!,保存退出

  1. 执行git rebase --continue把游离的分支会转成之前的正式分支

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lFzhKl1k-1658890673393)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3d26a3575f504891a480de3e0b82305d~tplv-k3u1fbpfcp-watermark.image?)]

  1. 这时候,我们通过git log查看,commit内容已经修改成功

结束语

我们这里用了git rebase 的reword, 大家遇到问题,可以试试edit

如果你觉得该文章不错,不妨

1、点赞,让更多的人也能看到这篇内容

2、关注我,让我们成为长期关系

3、关注公众号「前端有话说」,里面已有多篇原创文章,和开发工具,欢迎各位的关注,第一时间阅读我的文章

你可能感兴趣的:(git,github)