【技巧】Git提交描述骂了领导,不会删除提交记录咋办!
发布网友
发布时间:2024-09-17 08:13
我来回答
共1个回答
热心网友
时间:2024-09-29 01:41
前言 缘由Git提交错了?别慌,带你删除提交记录
你想听的故事:一个夜黑风高的夜晚,独自苦逼加班的狗哥默默搬砖,长时间的工作压迫,狗哥怒从心头起,恶向胆边生,稀里糊涂的将内心的愤怒写到项目注释及git提交描述中,并且push推送到了远程。
清醒之后的狗哥,看到自己骚操作懊悔不已,但木已成舟,错误已犯。目前摆在狗哥面两条路:一是降低我高傲的头颅,主动承认错误,曲意逢迎舔狗上线;二是剑走偏锋,通过狗哥强大的技术,抹平这愚蠢的失误。然而成年人不做选择题,狗哥两个全都要,当舔狗的同时,也要通过实力删除提交记录!
遂整理一下两个常用git命令:git revert 和 git reset,用于解决以上git尴尬问题的情况
『本故事纯属虚构如有雷同实属巧合』
主要目标实现2大重点:1.『git revert』命令详解2.『git reset』命令详解
正文 目标解析1.『git revert』命令详解
① 作用:git revert 是 Git 中用于撤销一个或多个提交的命令,会保留历史记录。
大白话解释:通俗理解吃了毒药(git commit提交)后,可以救命的解毒药(git revert),虽然可以挽救你的生命,但是会保留你吃毒药的疼痛感(历史记录)。就是能解决撤销项目注释的内容,但是撤销不了提交历史记录。
② 语法:撤销某一个提交、撤销多个提交、撤销最新提交、撤销范围内提交。
③ 实例:上面命令没看懂,别急,来看看实操,一看就懂!案例:撤销下图中注释提交
1. 找到commit-hash哈希码:git log 查看项目历史的 commit 记录,找到对应commit-hash哈希码
Tips:什么是commit-hash哈希码?Git的commit-hash哈希码,也称为commit ID或简称为hash,是Git用来唯一标识每一次提交的一个40个字符的字符串。这代表了每个提交的唯一标识,具有不可篡改性。
2. 执行git revert:执行单个文件撤销命令
3. 更改提交说明:使用vim语法进行录入提交说明,如果不知晓vim语法请百度一下
4. 输入git push推送代码
5. 查看提交记录:从上图看到,虽然可以撤销提交内容,但是git提交历史无法清除。斩草需除根,所以需要下面的git reset 命令
2.『git reset』命令详解
① 作用:通过移动 HEAD 指针并可选地更改暂存区和工作目录的状态,用于撤销提交、取消暂存文件、修改提交内容等操作。
大白话解释:通俗理解吃了毒药(git commit提交)后,你拥有一台时光机(git reset),可以穿越时空,回退到你吃下毒药之前,可以销毁一切历史痕迹。
② 语法:撤销最新提交,并保留修改、撤销最新提交,并将暂存区的文件取消暂存、撤销最新提交,并丢弃所有更改、将 HEAD 指针移动到指定commit-hash,用来回溯历史提交。
③ 实例:上面命令没看懂,别急,再来看看实操,一看就懂!案例:撤销下图中历史提交记录
1. 查看commit 记录:git log 查看项目历史的 commit 记录,找到需要回退的指针,根据上图我们需要回退2个指针
2. 执行git reset:git reset HEAD~2,回退2个指针
3. 强制推送远程仓库:但是我们发现云端记录还在,是因为我们还没强制推送远程仓库,需要用我们本地将云端覆盖
4. 查看历史记录:一切尘埃落定,终于完美解决了这场提交事故!
总结:本文通过git提交事故为切入点,核心介绍了git reset 和 git revert 两个常用命令。 git revert 用于撤销之前的提交,并创建新的提交来保持提交历史;git reset 用于移动分支的指针,可以修改提交历史,但不会创建新的提交。希望这两个命令能在危急时刻帮到你,有用就点赞收藏喽。
热心网友
时间:2024-09-29 01:39
前言 缘由Git提交错了?别慌,带你删除提交记录
你想听的故事:一个夜黑风高的夜晚,独自苦逼加班的狗哥默默搬砖,长时间的工作压迫,狗哥怒从心头起,恶向胆边生,稀里糊涂的将内心的愤怒写到项目注释及git提交描述中,并且push推送到了远程。
清醒之后的狗哥,看到自己骚操作懊悔不已,但木已成舟,错误已犯。目前摆在狗哥面两条路:一是降低我高傲的头颅,主动承认错误,曲意逢迎舔狗上线;二是剑走偏锋,通过狗哥强大的技术,抹平这愚蠢的失误。然而成年人不做选择题,狗哥两个全都要,当舔狗的同时,也要通过实力删除提交记录!
遂整理一下两个常用git命令:git revert 和 git reset,用于解决以上git尴尬问题的情况
『本故事纯属虚构如有雷同实属巧合』
主要目标实现2大重点:1.『git revert』命令详解2.『git reset』命令详解
正文 目标解析1.『git revert』命令详解
① 作用:git revert 是 Git 中用于撤销一个或多个提交的命令,会保留历史记录。
大白话解释:通俗理解吃了毒药(git commit提交)后,可以救命的解毒药(git revert),虽然可以挽救你的生命,但是会保留你吃毒药的疼痛感(历史记录)。就是能解决撤销项目注释的内容,但是撤销不了提交历史记录。
② 语法:撤销某一个提交、撤销多个提交、撤销最新提交、撤销范围内提交。
③ 实例:上面命令没看懂,别急,来看看实操,一看就懂!案例:撤销下图中注释提交
1. 找到commit-hash哈希码:git log 查看项目历史的 commit 记录,找到对应commit-hash哈希码
Tips:什么是commit-hash哈希码?Git的commit-hash哈希码,也称为commit ID或简称为hash,是Git用来唯一标识每一次提交的一个40个字符的字符串。这代表了每个提交的唯一标识,具有不可篡改性。
2. 执行git revert:执行单个文件撤销命令
3. 更改提交说明:使用vim语法进行录入提交说明,如果不知晓vim语法请百度一下
4. 输入git push推送代码
5. 查看提交记录:从上图看到,虽然可以撤销提交内容,但是git提交历史无法清除。斩草需除根,所以需要下面的git reset 命令
2.『git reset』命令详解
① 作用:通过移动 HEAD 指针并可选地更改暂存区和工作目录的状态,用于撤销提交、取消暂存文件、修改提交内容等操作。
大白话解释:通俗理解吃了毒药(git commit提交)后,你拥有一台时光机(git reset),可以穿越时空,回退到你吃下毒药之前,可以销毁一切历史痕迹。
② 语法:撤销最新提交,并保留修改、撤销最新提交,并将暂存区的文件取消暂存、撤销最新提交,并丢弃所有更改、将 HEAD 指针移动到指定commit-hash,用来回溯历史提交。
③ 实例:上面命令没看懂,别急,再来看看实操,一看就懂!案例:撤销下图中历史提交记录
1. 查看commit 记录:git log 查看项目历史的 commit 记录,找到需要回退的指针,根据上图我们需要回退2个指针
2. 执行git reset:git reset HEAD~2,回退2个指针
3. 强制推送远程仓库:但是我们发现云端记录还在,是因为我们还没强制推送远程仓库,需要用我们本地将云端覆盖
4. 查看历史记录:一切尘埃落定,终于完美解决了这场提交事故!
总结:本文通过git提交事故为切入点,核心介绍了git reset 和 git revert 两个常用命令。 git revert 用于撤销之前的提交,并创建新的提交来保持提交历史;git reset 用于移动分支的指针,可以修改提交历史,但不会创建新的提交。希望这两个命令能在危急时刻帮到你,有用就点赞收藏喽。