0


【git】多个git commit合并

场景

提交MR之前存在多个commit信息,需要合并为一个。

比如

存在如下多个commit信息。

85d5d8fa468b06bb9a62fafde01d80cbb7396682 
621ca4121f971d9604e395556763551427d799d9 
f744d2e91916ab7831f3a7695d1d1825916db164 
5c135e49e683563fa470d7f5c281050ec1d73af9 
295ac3b842b4ecb6eff1c9954a281a4606a8bc84

步骤

第一种方法

# 查看前5个commit
git log -5
# 将文件从版本库恢复到暂存区,不改变工作空间
git reset --soft 295ac3b842b4ecb6eff1c9954a281a4606a8bc84 #第五个历史commit id
git add .
git commit -m "commi infos"
git push -f origin 本地分支名:远程分支名(可不存在会自动创建)

第二种方法

第二个方法主要通过rebase方法重置

# 查看前10个commit
git log -10
# 将4个commit压缩成一个commit
git rebase -i HEAD~4    
# add已经跟踪的文件
git add -u
# 提交
git commit -m "修改信息"
# 强制push以替换远程仓的commitID
git push --force

参考:
https://blog.csdn.net/Spade_/article/details/108698036

标签: git

本文转载自: https://blog.csdn.net/mwh1233/article/details/131924591
版权归原作者 Marvin.H 所有, 如有侵权,请联系我们删除。

“【git】多个git commit合并”的评论:

还没有评论