idea取消comiit_IDEA 合并多次commit为一个?
答完以后我只想吐槽下,这种操作还是命令行里来的方便。答案里提供了3种操作流程,个人习惯第2种方式,但这个只适合压缩最后n个commit的情况。第一种方式最佳,建议熟练掌握。第三种方式纯粹蛋疼,可以不看,但对理解git会有所帮助。用命令行的话,其实还有很多方法,但都不是常规手段了,对理解和学习运用git底层原理有帮助。
---------------------------------------------------------------------------------------------------------------
IDEA里的操作方式:(这种方式对应git rebase -i,是功能最强,适用最广泛的,掌握以后可以处理很多需求)
1.点击菜单VCS->Git->ShowHistory
2.在History页上点击Log
3.例子中有4个commit(将init commit看成第1个),假如要将上面最后2个commit(第4和第3个)压缩成1个,那么选中第2个commit(第3个的parent),右键菜单Copy Revision Number,把复制的commit sha1粘贴在一边,防止粘贴板内容被后续的操作覆盖掉
4.菜单VCS->Git->Rebase,勾上Interactive,Onto粘贴第3步中复制的commit sha1
5.在交互式rebase菜单中,将第一个选为pick,后面的都选为squash,点Start Rebasing
6.在Additional Rebase Input中编辑下压缩以后的commit message
7.完工
另外,可以用以下命令实现:git reset --soft;
git commit
IDEA里的操作方式:
1.同上
2.同上
3.选中第2个commit,右键菜单Reset Current Branch to Here
4.选择Soft,点Reset。这里选Mixed似乎也可以,IDEA中接下来的那个Commit Changes好像包含了git add的操作。
5.菜单VCS->Commit Changes,完成。
还有一种方式,利用以下命令实现:git checkout ;
git merge --squash;
git commit;
#记录下当前的commit sha1;
git checkout ;
git reset --hard;
IDEA的操作方式:
1.同上
2.同上
3.目标同上,假设要压缩的commit在master分支上,选中第2个commit,右键菜单Checkout Revision
4.菜单VCS->Git->Merge Changes,Branches to merge选择master,勾上Squash commit,点击Merge
5.菜单VCS->Commit Changes,选择要commit的文件,编辑下Commit Message,点Commit。如果警告说当前在detached HEAD状态,忽略,点Commit。
6.这时History的Log页面上可以看到以下状态,detached HEAD状态可以看成是一个无名分支
7.选中detached HEAD,右键菜单Copy Revision Number,最好粘贴在一边以防粘贴板被其它操作覆盖
8.选中master所在的commit,右键菜单Branch 'master'->Checkout
9.菜单VCS->Git->Reset HEAD,Reset Type选择Hard,To Commit填入第7步中复制的commit sha1,点Reset。完工。
idea取消comiit_IDEA 合并多次commit为一个?相关推荐
- Idea--git合并多次commit为一个(合并提交)--实例
原文网址:Idea--git合并多次commit为一个(合并提交)--实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用实例介绍如何合并git的提交.用Idea可视化和命令行操作两种方法进行展 ...
- git 相同commit_Git 合并多次 commit 、 删除某次 commit
Git 合并多次 commit 有时候在一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱,此时可以将一部分的 commit 合并为一个 commit,以美化整个 commit 历史, ...
- git 合并多次commit
如果当前分支提交了多次commit,无法merge到master上,就需要合并多出的几次commit 第一步 查看log: git log 通过log我们发现,我们想合并红框中的两次commit, 第 ...
- git 合并多次提交
文章目录 1 为何要合并多次 commit 2 导致多次 commit 的场景 3 合并本地多次提交 3.1 做3次提交 3.2 开始合并 3.3 rebase 完成后本地 log 3.4 git p ...
- git合并多次提交为一次提交
** 背景 ** 有时候新人在git上提交代码时,如果不符合要求,会出现反复修改,导致提交次数过多,无法形成有效提交和回退,因为可能中间提交的版本有问题.所以查找一下是否有合并多次提交为一次有效提交的 ...
- git将一个分支合入到另一个分支
git将一个分支合入到另一个分支 将分支a合入到分支b 1.首先需要切到分支b,然后pull一下,使b分支代码与远程b分支代码一致:准备就绪,在b分支下创建一个新的分支async/a-to-b // ...
- git合并多个commit成为一个commit
git合并多个commit成为一个commit 在git使用中,可能会在合并代码的时候有大量的commit,如何能在合并分支的时候将许多commit转化为1个commit呢,可以使用以下命令: git ...
- commit分拆多个 git_git如何合并只有两个commit到一个?
用rebase -i 比如下图的commit 历史,想要把 "Second change" 和 "Third change" 这两个commit合并到一起 那么 ...
- 详解如何使用git sqush合并多次未提交commit
转自:https://www.cnblogs.com/dsxniubility/p/4460834.html 1.git squash技术 在使用git作为源代码管理器时,需要时不时将自己所作出的改变 ...
最新文章
- 使用VS Code新建编译Flutter项目
- ios开发学习-网络(Networking) 效果源码分享--系列教程
- 什么是云计算机服务器,云电脑服务器是什么
- Spring注解编程基石(二)
- 使用JPA标准@ViewScoped通过分页,过滤和排序进行Primefaces DataTable延迟加载
- NYOJ 2 括号配对问题
- R语言-merge和rbind
- 红帽linux怎么装文件夹,红帽linux怎么安装第三方字体?
- WordPress Citizen Space插件跨站请求伪造漏洞
- 家卫士扫地机器人好吗_扫地机器人哪个牌子好?市场最全智能扫地机器人品牌解析_扫地机器人...
- 人工智能与深度学习实战(4)——口罩佩戴识别(CNN)
- 颜宁追问4位男科学家:如何平衡事业和家庭?
- PPT封面怎样设计才更赏心悦目
- 辰信领创携手天津麒麟全力保障国产操作系统安全
- python 头条视频_今日头条python视频消重赞
- C语言编程>第二十三周 ② 请补充fun函数,该函数的功能是:交换数组a中最大和最小两个元素的位置,结果重新保存在原数组中,其它元素位置不变。注意数组a中没有相同元素。
- word表格复制到excel回车换行问题 1
- vite按需引入 Ant Design Vue 3.0
- 沈剑:技术核心管理者的时间,都只花在这 20% 的事情上
- CAS算法与ABA问题
热门文章
- 理解一下select 1 和 exists
- leetcode 373. Find K Pairs with Smallest Sums | 373. 查找和最小的K对数字(小根堆)
- leetcode 235. Lowest Common Ancestor of a Binary Search Tree | 235. 二叉搜索树的最近公共祖先(哈希表)
- 【Flask】jinja2根据url中的字符串,决定是否显示某个div
- netty系列之:netty中的ByteBuf详解
- rpc核心实现和原理
- leetcode -- 279. Perfect Squares
- 32行代码AC——L1-027 出租 (20分)(~解题报告~)
- 电脑计算机的硬盘那些可以删除吗,我的电脑出现多个可移动磁盘该怎么删除?...
- java转文件编码bom_编码转换:UTF-8 BOM to GBK