工具篇:[git] 合并多次提交

这篇博客介绍了如何在Windows系统中,结合git和sublime编辑器,将多次提交合并为一个。通过git log获取commit信息,然后使用git rebase-i进行交互式重置,将多个pick改为s,统一commit message,最后强制推送更新到远程分支。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景: 一个功能由于各种原因,可能会分多次提交,git 提供了功能可以把多次提交合并为1个

实践:

使用的windows系统+git+sublime ,其中sunlime是必备

1.使用git log  找到要合并的commit 的信息

 

2.git rebase -i  param , 此处的param替换为要合并的commit的值,黄色部分

3.执行命令后 会弹出一个文本框,保留第一个pick,其余的pick替换为s, 保存

4.保存成功后,弹出文本框需要修改commit message,可以把原来的message都删除,只保留一个

5.操作完成后,需要强制推送到远程,git push origin branch -f  ,branch替换成分支名

6.查看,多个log就合并成了一个了。

参考:https://blog.youkuaiyun.com/jerechen/article/details/89556281?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-5.control

 

### 在 IntelliJ IDEA 中将多个 Git 提交合并为一个 在处理多个提交时,可以利用 `git rebase` 和交互式变基功能来实现这一目标。通过这种方式能够有效地整理历史记录,使得分支树更加整洁[^1]。 对于希望在 IntelliJ IDEA 中完成此操作的情况: #### 开始交互式 Rebase 过程 首先,在IDEA中打开终端或者使用VCS菜单下的Git子项找到Rebase命令启动交互式的rebase流程。也可以直接按下快捷键组合Alt+9进入版本控制系统工具窗口,接着选择“Log”标签页查看提交日志,并右击想要开始变基的目标提交(通常是较早的一个),从上下文菜单里选取“Rebase interactively...”。 此时会弹出一个新的编辑器选项卡展示一系列待处理的提交条目列表,默认情况下它们都被标记为pick动作。 ```bash pick abcdefg Commit message of commit A pick 1234567 Another commit message B ... ``` #### 修改提交行为 为了把几个连续的提交压缩成单个提交,需更改除了最顶部之外其他所有相关联提交前缀单词由“pick”变为“squash”。这表示这些提交将会被折叠到上面那个保留下来的提交之中去。 ```bash pick abcdefg This is the new combined commit message. squash 1234567 The changes from this will be merged into above. ... ``` 保存文件并关闭它之后,IDEA 将自动执行相应的操作,包括可能提示解决任何可能出现的冲突。一旦解决了所有的冲突并且完成了整个过程,则最终结果就是只有一个包含了之前多份改动的新提交存在了[^2]。 需要注意的是,当涉及到多人协作开发环境中的公共分支上做此类变更时要格外小心谨慎,因为强行推送到远端可能会给团队成员带来不便甚至数据丢失的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值