概述
删除
有时候我们可能会遇到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
最后
以上就是活力身影为你收集整理的Git教程 —— 修改远程提交的全部内容,希望文章能够帮你解决Git教程 —— 修改远程提交所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复