Git教程 —— 修改远程提交

删除

有时候我们可能会遇到Git提交错误的情况,比如提交了敏感的信息或者提交了错误的版本等,这个时候我们就需要将提交到代码库的记录删除掉 。

这里写图片描述

现在,我要将github远程仓库中branch-2分支最新提交的三个记录删除掉。

首先,找到需要回滚到的提交点的hash值

这里写图片描述

不难看到,需要复制提交记录为“branch-2-1”的hash值,然后使用git reset --hard commit_hash 命令

这里写图片描述

再使用git push origin HEAD --force命令即可

这里写图片描述

这里写图片描述

可以看到,虽然复制的hash值所对应的那条记录没被删除,但删除效果已经成功了!

修改

对于已经提交过的注释,如果需要修改,可以借助git commit --amend命令来实现。

这里写图片描述

现在,我要将最近一次提交的注释“branch-2-3”改为“branch-2-1-2”,那么就需要通过命令行修改对应的本地仓库。

这里写图片描述

这里写图片描述

这个时候,就会进入编辑框,然后修改注释即可。

这里写图片描述

进入编辑界面还不能编辑注解,这个时候按下Shift+A,最底部会出现INSERT的字样,这个时候就可以编辑更改注解了;更改完之后,按下Esc,再按下Shift+Q,这时底部可输入命令了,输入wq命令,退出并保存,如果退出而不想保存的话,就键入q命令即可,而如果想要强制退出且不保存,则可键入w命令

这里写图片描述

这里写图片描述

这个时候,本地仓库已经修改了,要修改远程仓库,只需重新提交一下即可。

这里写图片描述

这里写图片描述

上面是修改最近一次提交的记录,如果是想修改倒数第二次、第三次提交呢?这个时候就需要借助git rebase -i commit_hash命令,其中commit_hash可以是截止的想要修改的记录的hash值,也可以用HEAD~num来替换,比如git rebase -i HEAD~3

这里写图片描述

这里写图片描述

接下来就进入到编辑界面。

这里写图片描述

可以看到,截止到的那个hash值所对应的那条记录并没有包含在修改列表中。

这样的可编辑文本,把后悔的提交由pick修改为edit,然后保存退出。

这里写图片描述

这里写图片描述

这个时候,由于要改两个记录(标记了两个edit记录),所以根据提示,使用git commit --amend来一个记录一个记录地修改,每改完一个记录就使用git rebase --continue来继续进行下一步。

这里写图片描述

Shift+A键就可以对注释进行修改编辑了。

这里写图片描述

修改完后,按下Esc键,然后按下Shift+Q键,就可以编辑退出命令了。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这个时候可以看到,本地记录已经修改成功了,按下Q键退出log记录,然后提交记录即可。

这里写图片描述

这里写图片描述

至此,修改成功!

合并

现在,我这儿想要将多条记录合并成一条记录,那么这个操作和之前修改多条记录差不多,只是将pick改成squash即可。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

参考链接:
Github Git彻底删除历史提交记录的方法
git commit ammend 修改已经提交的注释
在git bush中如何退出vim编辑器
git更新错误Can’t update: no tracked branch

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值