git 删除 提交错误的 commit, 本地与远程

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: ## 前景在使用 git 工作时, 难免会出现 commit 了一些不想提交的内容, 或者 commit 的时候 commit 的日志不太满意想要进行修改。

## 前景

在使用 git 工作时, 难免会出现 commit 了一些不想提交的内容, 或者 commit 的时候 commit 的日志不太满意想要进行修改。 分两种情况一种是针对 commit 之后没有进行 push. 另一种则是 commit 之后 push 到了 remote, 下面分别讲一下分别对应的修改方式.

## 修改本地 commit.

  1. 如果单纯只是想修改 commit 的提交备注信息的话, 只需输入 $ git commit! 即可直接修改上次 commit 日志.
  • 单纯修改commit 提交备注信息 对应命令 $ git commit!
  1. 想修改 commit 内容则需要回滚版本, git log 直接查看上一个版本 HEAD, 输入命令 $ git reset HADE 回到上一个版本, 然后在重新提交自己想要提交的即可. 同时 commit 日志也可以重新写.
  • 修改 commit 提交内容 对应命令 $ git reset HADE

## 修改远程 commit. commit 后已 push 到远程

分别两种解决方法.

  • 方法一

删除掉上一个 commit 并且保留内容, 但是不需要 commit 日志, 或者单单修改 日志等。

命令行:

git reset HADE

git push origin developer --force developer 指的是远程分支名.根据你自己分支来输入。

相当于回到上一个版本, 之后 push 将之前修改的内容全部也 push 上来, --force 表示强制将本地 push 到远程, 使用 --force 需要谨慎 确保无误之后在添加哦.

  • 方法二

先撤销上一次的错误的 commit, 然后在重新生成一个新的提交. 可以理解成覆盖的效果。

  1. $ git revert HADE

  2. $ git add

  3. $ git commit

  4. $ git push

reset revert 区别

引用 git revert 用法

  1. git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。

  2. 在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现,但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。

  3. git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。

## 最后

希望此篇文章对您有所帮助,如有不对的地方,希望大家能留言指出纠正。
谢谢!!!!!
学习的路上,与君共勉!!!

本文原创作者:Jersey. 欢迎转载,请注明出处和本文链接

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6月前
|
人工智能 缓存 开发工具
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
|
6月前
|
开发工具 git
Git Commit Msg
Git Commit Msg
68 0
|
6月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
121 1
|
2月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
132 4
|
2月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
211 3
|
3月前
|
开发工具 git
Git——commit的提交规范
Git——commit的提交规范
99 4
|
3月前
|
测试技术 持续交付 开发工具
[译] 为何每次 Git Commit 要尽可能小?
[译] 为何每次 Git Commit 要尽可能小?
|
3月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
65 0
|
4月前
|
前端开发 JavaScript 开发工具
前端优化之路:git commit 校验拦截
前面在git分支规范那篇文章里,介绍了commit提交规范,但是想要做到高效落地执行,就需要做些别的功课。
|
3月前
|
IDE 开发工具 git
我是怎么写 Git Commit message 的?
我是怎么写 Git Commit message 的?
51 0