【git】Git 进阶技巧:快速掌握 commit 修改与合并

注意:修改已经 push 的 commit 是一个潜在的危险操作,因为会改变仓库的历史记录。如果你的 commit 已经被其他人 pull 或者合并过,最好避免修改 commit。

修改commit

  1. 首先,使用 git rebase 命令来进行交互式 rebase:
git rebase -i HEAD~n

这里的 n 表示你想要修改的 commit 之前的 commit 数量。比如你想修改最近的3个commit就是git rebase -i HEAD~3,不传n就是默认最新的1条。

  1. 在接下来的界面里,找到你需要修改的 commit 的行,按任意字母键开始编辑。
    如果只需要改commit的描述就将 pick 改为 rreword,然后直接保存即可,不需要下面的第3第4步
    如果需要修改commit本身的文件内容就改为 eedit,按下ESC键,输入:wq保存并退出编辑器。
    在这里插入图片描述

  2. 使用edit时,同时需要修改commit 的信息,使用–amend命令:

git commit --amend
  1. 完成编辑后,使用以下命令继续 rebase 操作
git rebase --continue

如果想取消这次对commit的变更可以

git rebase --skip

在推送前如果想要整个退出rebase使用

git rebase --abort
  1. 最后,使用以下命令将修改后的 commit 强制 push 到远程仓库:
git push origin branch-name --force

使用–force需要非常谨慎,因为这个命令会直接把你当前分支同步到远端,覆盖所有后续提交的代码,因此这里也可以用

git push origin branch-name --force-with-lease

–force-with-lease 选项会在推送时先检查远程仓库是否有新的提交,如果有的话,推送操作将被拒绝,以免引起代码冲突或覆盖他人的更改。

合并多个commit

第1步和上面一样,在第2步把 pick 改为 ssquash,这里要注意比如你要合并3个commit,只需要改后面两条为s第一条保持pick不要改,这两条会合并到最上面的一条里。

然后一样是:wq保存,最后git push --force-with-lease推送即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值