-
git 几个commit点合并成一个commit点
2018-09-07 00:32:321、在做1个功能的时候,你自己觉得代码没问题了,就本地commit,然后提交代码,在gitlab上发起和并请求,老大看完之后,觉得你还有修改的地方,把你的代码打回来重新修改,改完之后,本地commit,推到远程,再次...在用git做版本控制器的时候,经常会遇到以下情况:
1、在做1个功能的时候,你自己觉得代码没问题了,就本地commit,然后提交代码,在gitlab上发起和并请求,老大看完之后,觉得你还有修改的地方,把你的代码打回来重新修改,改完之后,本地commit,推到远程,再次发起合并。到此功能做完,但是做完之后发现,你的一个功能commit了两次,当然根据实际情况有些时候你为了做一个功能,来回不止两次,这样子的提交会让这个分支看起来有点杂乱。那么你会想要将你的几次commit合并成一个commit后,再提交,那样子分支看上去会非常清爽。
2、当你做功能的时候,你会遇到需要零时提交的情况(比如你在做A任务,突然来了B任务,在你A任务分支上你会先commit一次,等B任务做完,再回来继续做A,做完之后会再次commit),此时你的一个任务有会有多个commit存在。
本文的主要目的是教你怎样将git中多次commit合并成一个commit。
(1)git log看一下当前分支的提交情况,下图中有三个commit点。从先到后是:add 1 line,add 2 line, add 3 line。需求是:把add 2 line, add 3 line这两个commit点合并成一个commit点。
(2)开始合并,敲下面这个命令:这里面的commitId是你要合并的两个commit后所形成的一个commitId需要跟着的commitId。在这边也就是add 1 line的commitId.
git rebase -i commitId
其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit, 接着我们就进入到 vi 的编辑模式
进入vi模式后,在键盘上敲i键进入insert模式。这时候先看看这里面的东西是什么含义,
- pick 的意思是要会执行这个 commit
- squash 的意思是这个 commit 会被合并到前一个commit
我们这边需要将"add 3 line"这个commit合并前前一个commit,也就是合并到“add 2 line”的commit中,那就需要修改成如下的:
修改完成后,按esc键,冒号,输入wq进行保存。之后会继续跳转到commit message 的编辑界面:
注释中有写第一个commit信息和第二个commit信息,现在需要你合并这两个信息成一个commit信息。我这边合并成如下信息:
然后你就保存退出,跳回到最初的命令界面:
看到successfully的字样就说明成功了。再git log看一下commit情况:
从图中就看到已经将add 2 line和add 3 line的commit合并成了this is combination of 2 commit。
如果有对云原生和golang感兴趣的小伙伴可以关注我的公众号“云原生手记”,欢迎批评指正
-
Git撤销本地commit
2018-04-18 19:45:50本人总是干这种挫事情:一顿操作猛如虎,各种git add,各种git commit,最后一看,我擦,还特么在master上,太吓人了,这咋办?——撤销commit: $ git commit -m "commit on master" $ git reset HEAD~ ...本人总是干这种挫事情:一顿操作猛如虎,各种
git add
,各种git commit
,最后一看,我擦,还特么在master上,太吓人了,这咋办?——撤销commit:$ git commit -m "commit on master" $ git reset HEAD~
这样撤销了上面的commit。
后续该回滚回滚,该新建分支新建分支。最后切记,时刻查看当前branch是个好习惯。
当然我们撤销master上的commit无非就是想切到自己的branch上提交代码,那好,现在master上面不是有一个commit么,那么就在当前master上新建一个branch出来,注意一定要从master上切,也就是当前branch一定是master:
$ git branch * master $ git branch -b my-branch $ git push origin my-branch
这时候就能按照自己的branch提交代码了。
事情完了吗,没完,因为master上的那个提交还没revert,怎么搞,很简单,就是最上面那个reset命令,外加checkout:$ git checkout master $ git reset HEAD~ $ git checkout .
这样你的master branch就干净啦……
-
git修改已commit的注释信息
2018-06-27 14:05:20有时候commit后发现注释不太合适需要修改,网上查找了一些方法,经测试后整理一下。 环境:windows 情况:commit后未push 修改前情况: 修改步骤 1、输入命令,进入vim界面 git commit –amend ... -
IDEA 撤销 commit
2018-12-20 17:10:41日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后在提交到本地,或者需要整合多次 commit ,然后 push 到远程仓库。下面是Ideal支持的快捷方式。 Undo Commit 2.可以在 Version Control ...日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后再提交到本地,或者需要整合多次 commit,然后 push 到远程仓库。下面是 IDEA 支持的快捷方式。
- Undo Commit
2.可以在 Version Control 查看到刚刚撤销的内容
此时,就可以从新 commit 代码了
- Undo Commit
-
git使用情景2:commit之后,想撤销commit
2016-12-13 16:42:11执行完commit后,想撤回commit,怎么办? 这样凉拌: git reset --soft HEAD^ 这样就成功的撤销了你的commit 说一下个人理解: HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤 -
如何在项目中规范git commit格式
2020-08-13 16:12:50一、为什么要规范化Commit message 格式化的Commit message,有几个好处。 (1)提供更多的历史信息,方便快速浏览。 比如,下面的命令显示上次发布后的变动,每个commit占据一行。你只看行首,就知道某次 commit 的... -
oracle commit 时的控制参数 commit_write、commit_logging、commit_wait
2019-08-20 09:11:12oracle 保证已经 commit 的数据是不会丢失的,最重要的一点是默认的commit动作会触发数据刷盘到 online redo log file,实现持久化. 默认的 commit 语句其实是 commit work write wait immediate. SQL> commit; ... -
git commit
2019-05-09 10:59:191Git commit常见用法 1.1 git commit -m “message” 1.2 git commit -a -m “massage” 1.3 git commit --amend 1.4 git commit --help 2 git commit -m 和 git commit -am的区别 git教程:... -
git commit后,如何撤销commit
2020-07-16 10:03:36执行commit后,还没执行push时,想要撤销这次的commit,该怎么办? 解决方案: 使用命令: git reset --soft HEAD^ 这样就成功撤销了commit,如果想要连着add也撤销的话,--soft改为--hard(删除工作空间的改动... -
Git关于commit的操作,修改message,合并commit,撤销commit
2019-07-08 09:32:17文章目录Git修改已提交commit的message信息修改最近一次commit的message修改之前commit的message合并commit合并连续的commit合并间隔的commit要合并的commit是最上级的情况 Git修改已提交commit的message信息 修改... -
Git的add、commit、push命令
2017-11-17 22:38:02Git的add、commit、push命令 -
Git去除历史commit中的几个commit并保留后面的commit
2019-10-06 13:56:14在git的历史commit中,有时候会有一些commit是当前分支不需要的,但是由于误操作,将其他分支的代码合并到当前分支,导致在历史的一堆commit中混入了不需要的代码, 但是又不能直接使用reset回滚,因为在这一堆... -
MySQL binlog group commit--commit stage
2017-09-17 15:35:221、process_commit_stage_queue:调用调用ha_commit_low->innobase_commit进入innodb层依次提交 2、 process_after_commit_stage_queue:如果是半同步会调用after_commit处理超时 3、signal_done唤醒其他follower... -
squash commit合并多个commit
2017-10-18 15:39:04在使用 Git 作为版本控制的时候,在我们开发完分支后,一般分支上会有很多 commit,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。在合并到主干的时候,往往这类 ... -
pre-commit使用commit之前的检测办法
2019-02-16 11:42:24安装pre-commit包 npm install pre-commit --save-dev 第二步 修改package.json, 增加pre-commit字段 // 例子, 在提交之前运行tslint "scripts": { "tslint-fe": "... -
git commit时避免填写Commit Message
2019-09-14 17:13:34git commit --allow-empty-message -m '' Reference: https://stackoverflow.com/questions/6218199/git-commit-with-no-commit-message -
git commit之后,想撤销commit
2019-05-08 15:41:45执行完commit后,想撤回commit,怎么办? 这样凉拌: git reset --soft HEAD^ 这样就成功的撤销了你的commit 注意,仅仅是撤回commit操作,您写的代码仍然保留。 说一下个人理解: HEAD^的意思是上... -
Git 合并多次 commit 、 删除某次 commit
2018-07-21 16:12:17有时候在一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱,此时可以将一部分的 commit 合并为一个 commit,以美化整个 commit 历史,可以使用 rebase 的方法来合并多次 commit,主要步骤如下: ... -
idea git commit之后,想撤销commit
2020-04-24 15:45:38问题:idea提代码后,想撤销commit,怎么办捏??(T_T) To Cimmit:里面填写 HEAD~1 点击Reset即可撤销上次commit的内容; 下面会详细介绍Reset Type:Mixed To Commit : HEAD~1 具体是什么意思!! 简单... -
git commit 删除中间提交的错误commit id
2017-09-14 21:49:37描述经常会遇到提交多个commit ,最后发现版本有问题,需要删除中间的一个commit, git 中并没有提供现成的命令,需要多个命令组合完成该功能. 实现 首先用git format-patch -n -m,生成n-m个补丁文件 000(n-m)-commit-... -
git删除commit方法和误删commit后的恢复方法
2018-08-09 10:28:11如果你在git上提交了错误的commit,不要慌,通过下面的方法可以回退到之前的commit 1)通过git log可以查看我们之前提交的commit_id: 2)复制你需要回滚的commit_id。不过windows下的命令行是不能复制文本的,... -
git将多个commit合并成一个commit提交
2020-02-17 22:20:19使用场景:在自己的开发分支上开发一个功能提交多次,有多个commit,想将多次提交的commit合并成一个commit,方便代码管理。 例如将最近四次提交的commit合并成一个 1、查看提交历史记录 git log 2、回退到第5... -
Git Bash commit 出现 Aborting commit due to empty commit message解决方法
2019-05-09 11:58:15错误复现 vim 项目中修改任意文件,正常 wq 保存 git commit -a 输入 log 内容后,强制关闭 git bash 再次打开 git bash,输入git commit -a ,此时报错 git bash 错误提示 错误原因 输入 log 内容后,编辑器已经... -
KafkaConsumer的同步commit和异步commit。
2019-03-12 16:57:22KafkaConsumer这个类实现了同步commit和异步commit。 同步commit的实现函数如下: public void commitSync(final Map<TopicPartition, OffsetAndMetadata> offsets, final Duration timeout) { ... -
commit作用
2018-04-04 11:36:05对数据库的增删改查,先保存到缓存里,当commit之后,真正提交数据库。 -
commit语句
2017-06-04 14:15:55在确保完整性的情况下多用commit语句 1用户DML操作完后,如果不使用commit命令进行提交,oracle会在回滚段中记录DML操作,好处是以便用户使用rollback对数据进行回滚。坏处记录DML会消耗时间和空间。所以在确保数据... -
git 把几个commit点合并成一个commit点
2020-07-08 20:00:10具体步骤: 1. git log 查看最近提交的 commit 历史 commit3 commit2 commit1 2. 执行 git rebase 命令,如果是合并...commit3 只能合并到commit2中去,commit2不能合并到commit3中去,因为commit3是依赖于commi.. -
多个commit合并一个commit提交
2019-12-01 16:57:041.通过git log查看有几个commit 2.比如有5个commit git rebase -i HEAD~5 注:如果已经rebase过,执行 git rebase --abort 再git rebase -i HEAD~5 3.进入Vi,点击i编辑,根据提示将第一个commit前面的第一个... -
Git commit 错误: Changes not staged for commit:
2019-12-18 11:59:14报错:当 git commit -m'..'的时候,出现 Changes not staged for commit:和 untracked files: no changes added to commit 解决方案:使用git commit -am'..' 原因:git commit -m用于提交暂存区的文件,...
-
MySQL 查询与高级查询(多表、嵌套和正则表达式)
-
GoogleHacking的入侵原理及防范策略.pdf
-
IDEA中新建maven web项目
-
MySQL 多实例安装 及配置主从复制实验环境
-
个人163邮箱退信如何查看?退信大全一定要了解!
-
摄影展示小程序.zip
-
【爱码农】C#制作MDI文本编辑器
-
【拯救者 】数据库系统概论速成
-
vue3从0到1-超详细
-
基于θ形微纤维谐振器的多功能,可调宽带全光纤滤波器
-
学习网站链接
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
小巧的GIF录制.zip
-
office是指什么
-
IntelliJ IDEA 设置主题背景
-
UniWebView 4 4.3.1.unitypackage
-
Spring Boot的@RequestParam和@RequestBody的区别(2)
-
虚拟机二次安装镜像黑屏原因
-
华为1+X——网络系统建设与运维(中级)
-
利用SVM进行手写数字识别.zip