赞
踩
语境: 在多一个 commit 的备注相同, 或者, commit次数过多, 将多个commit合并成一个commit , 使 log 看起来好看.
>git log --oneline
bc8bae7 (HEAD -> master) update4
71ea6ce feat: update3
4ae5cc9 update2
f5a07a8 update1
# 会将update 4, update3, update2 合并成一个commit
>git rebase -i HEAD~3
pick 4ae5cc9 update2
pick 71ea6ce update3
pick bc8bae7 update4
# Rebase bc8bae7 ..4ae5cc9 onto a9269a3 (3 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
- 第一列是rebase具体执行的操作,其中操作可以选择,其中含义如下:
- 选择pick操作,git会应用这个补丁,以同样的提交信息(commit message)保存提交
- 选择reword操作,git会应用这个补丁,但需要重新编辑提交信息
- 选择edit操作,git会应用这个补丁,但会因为amending而终止
- 选择squash操作,git会应用这个补丁,但会与之前的提交合并
- 选择fixup操作,git会应用这个补丁,但会丢掉提交日志
- 选择exec操作,git会在shell中运行这个命令
pick 4ae5cc9 update2
s 71ea6ce update3
s bc8bae7 update4
设置注释
如果需要修改下提交信息,如果不需要直接保存退出即可
完成合并处理, 使用 log 查看
使用log查看没问题后就可以使用push推送到云端
> git log
> git push
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。