删除

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

Git教程 —— 修改远程提交

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

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

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

修改

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

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

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

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

至此,修改成功!

合并

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

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

Git教程 —— 修改远程提交

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

相关文章:

  • 2022-12-23
  • 2021-06-10
  • 2021-08-01
  • 2021-11-14
  • 2021-05-07
  • 2022-12-23
  • 2021-12-07
  • 2021-08-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-15
  • 2021-08-01
  • 2021-08-04
  • 2022-12-23
  • 2021-09-02
相关资源
相似解决方案