githug rename_commit 修改已经commit但还没push的一条message
githug 第 45 关, 一开始对 git rebase -i 这个东西有误解, 记录一下正确的用法
ddmobadeMac-mini:git_hug ddmoba$ githug reset 45
********************************************************************************
* Githug *
********************************************************************************
resetting level
Name: rename_commit
Level: 45
Difficulty: ***
Correct the typo in the message of your first (non-root) commit.
ddmobadeMac-mini:git_hug ddmoba$
查找有拼写错误的那一条 commit
ddmobadeMac-mini:git_hug ddmoba$ git log
commit d30bc005638c278714faaa73f0fdc16052561750 (HEAD -> master)
Author: hangj <hangj@protonmail.com>
Date: Fri Jun 29 11:35:05 2018 +0800
Second commit
commit 4f1341ac9134225719e5d704e420160657e8c38e
Author: hangj <hangj@protonmail.com>
Date: Fri Jun 29 11:35:05 2018 +0800
First coommit
commit a632e3dfa31a06bcec9395c0690d43a3f2f09706
Author: hangj <hangj@protonmail.com>
Date: Fri Jun 29 11:35:05 2018 +0800
Initial commit
ddmobadeMac-mini:git_hug ddmoba$
First coommit // commit 写错了
git rebase -i parent_of_flawed_commit
ddmobadeMac-mini:git_hug ddmoba$ git rebase -i a632e3dfa31a06bcec9395c0690d43a3f2f09706
然后跳到
pick 4f1341a First coommit
pick d30bc00 Second commit
# Rebase a632e3d..d30bc00 onto a632e3d (2 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
~
~
~
~
~
~
~
~
~
~
~
~
"~/git_hug/.git/rebase-merge/git-rebase-todo" 21L, 693C
编辑它,
r 4f1341a First coommit
pick d30bc00 Second commit
# Rebase a632e3d..d30bc00 onto a632e3d (2 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
~
~
~
~
~
~
~
~
~
~
~
~
-- INSERT --
然后 :x 保存, 会跳到
First coommit
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Fri Jun 29 11:35:05 2018 +0800
#
# interactive rebase in progress; onto a632e3d
# Last command done (1 command done):
# r 4f1341a First commit
# Next command to do (1 remaining command):
# pick d30bc00 Second commit
# You are currently editing a commit while rebasing branch 'master' on 'a632e3d'.
#
# Changes to be committed:
# new file: file1
#
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"~/git_hug/.git/COMMIT_EDITMSG" 17L, 520C
编辑它, 把 coommit 改成 commit
First commit
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Fri Jun 29 11:35:05 2018 +0800
#
# interactive rebase in progress; onto a632e3d
# Last command done (1 command done):
# r 4f1341a First commit
# Next command to do (1 remaining command):
# pick d30bc00 Second commit
# You are currently editing a commit while rebasing branch 'master' on 'a632e3d'.
#
# Changes to be committed:
# new file: file1
#
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
-- INSERT --
然后 :x 保存, 跳到
ddmobadeMac-mini:git_hug ddmoba$ git rebase -i a632e3dfa31a06bcec9395c0690d43a3f2f09706
[detached HEAD ea3efe3] First commit
Date: Fri Jun 29 11:35:05 2018 +0800
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1
Successfully rebased and updated refs/heads/master.
然后 git log 查看一下是否修改成功
ddmobadeMac-mini:git_hug ddmoba$ git log
commit 1f929783b1acb295aaf7b9dbe500629a1054484f (HEAD -> master)
Author: hangj <hangj@protonmail.com>
Date: Fri Jun 29 11:35:05 2018 +0800
Second commit
commit ea3efe310a6a03a232171bf664401f62a5dc024e
Author: hangj <hangj@protonmail.com>
Date: Fri Jun 29 11:35:05 2018 +0800
First commit
commit a632e3dfa31a06bcec9395c0690d43a3f2f09706
Author: hangj <hangj@protonmail.com>
Date: Fri Jun 29 11:35:05 2018 +0800
Initial commit
ddmobadeMac-mini:git_hug ddmoba$
done !!
githug rename_commit 修改已经commit但还没push的一条message的更多相关文章
- git 检查是否有commit到本地但还没push的代码
使用 git status 命令可以得到以下结果 $ git status On branch dev_getTicketCnt Your branch is ahead of 'origin/mas ...
- Git 还没push 前可以做的事(转)
Git 版本控制系統(3) 還沒 push 前可以做的事 转载:http://ihower.tw/blog/archives/2622 這一集要講的是:還沒 push 前可以做的壞事,也就是 re ...
- git删除已经提交的包含敏感信息的文件(还没提交到远程仓库)
写好的代码已经提交了(但还没push到github),发现某个文件里包含密码.如果push的话,密码可就被公开了.如果在代码里改掉密码,再commit一次,也不行,历史提交记录还是会上传到github ...
- 谁还没遇上过NoClassDefFoundError咋地——浅谈字节码生成与热部署
谁还没遇上过NoClassDefFoundError咋地--浅谈字节码生成与热部署 前言 在Java程序员的世界里,NoClassDefFoundError是一类相当令人厌恶的错误,因为这类错误通常非 ...
- C-Lodop提示“网页还没下载完毕,请稍等一下再操作.”
该提示在Lodop旧版本中是: 提示"WebSocket没准备好,点确定继续",提示“C-Lodop没准备好”,新版本修改了该提示的描述“网页还没下载完毕,请稍等一下再操作.”,让 ...
- .Net Actor 服务端开发框架,Newbe.Claptrap 项目周报 1 - 还没轮影,先用轮跑
Newbe.Claptrap 项目周报 1,第一周代码写了一点.但主要还是考虑理论可行性. 第一次接触本框架的读者,可以先点击此处阅读本框架相关的基础理论和工作原理. 周报是啥? 成功的开源作品,离不 ...
- 不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过
什么是线程安全? 当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题. 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或 ...
- gRPC趁现在还没大火,抢先了解一下
前言 系统分布式已经成为程序员的家常,将大型单体划分为相对简单的小模块,分散系统能力,提升系统扩展性.功能模块复用性等:各功能模块之间肯定会有很多数据共享和交互的应用场景,那就避免不了各模块之间的通信 ...
- 升级过log4j,却还没搞懂log4j漏洞的本质?
摘要:log4j远程代码漏洞问题被大范围曝光后已经有一段时间了,今天完整讲清JNDI和RMI以及该漏洞的深层原因. 本文分享自华为云社区<升级过log4j,却还没搞懂log4j漏洞的本质?为你完 ...
随机推荐
- 数据库中多对多关系的处理 User---Role
--一个用户可以担任多个角色,如user1既是调度员又是分拣员--一个角色可以被多个用户担任,如user1是调度员,user2也是调度员--用户和角色之间的对应关系为多对多,所以会产生中间表 t_us ...
- <转>ajax 同步异步问题
原文:https://blog.csdn.net/wxr15732623310/article/details/76387787 看似简单明白的问题说起来却迷迷糊糊,完全没有逻辑,说不到重点上,再来整 ...
- HttpRunnerManager安装部署
uname -a cat /etc/redhat-release 1.安装docker.mysql.rabbitmq sudo yum update curl -fsSL https://get.do ...
- 2018面向对象程序设计(Java)第17周学习指导及要求
2018面向对象程序设计(Java)第17周学习指导及要求(2018.12.20-2018.12.23) 学习目标 (1) 掌握线程同步的概念及实现技术: (2) Java线程综合编程练习 学习资 ...
- html5移动端查找
用form包裹住input,修改input的类型为seach,然后给input绑定seach事件,当输入状态是输入键盘上会出现搜索,点击搜索就可以查找了 <form action="& ...
- HDU6446 Tree and Permutation(树上DP)
传送门:点我 Tree and Permutation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (J ...
- Java 基础之--注解Annotation详解
自定义注解入门: public @interface Annotation01 { //set default value ""; String value() default & ...
- Java18-java语法基础——集合框架
Java18-java语法基础——集合框架 一.什么是集合框架 1.集合框架:是为表示和操作集合而规定的一种统一的.标准的体系结构. 2.任何集合框架都包含三大块内容:对外的接口.接口的实现和对集合运 ...
- Linux下所有命令失效的解决方法
今天在设置环境变量时,一不小心,设置错了,系统中的所有命令全部失效了,可把我急坏了,下面用一条命令可解决: 解决办法:重新设置环境变量PATH export PATH=/usr/sbin:/usr/b ...
- JVM 字节码(四)静态方法、构造代码、this 以及 synchronized 关键字
JVM 字节码(四)静态方法.构造代码.this 以及 synchronized 关键字 一.静态代码 public class ByteCodeStatic { private static fin ...