前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git rebase命令 - 修改以前提交记录

Git rebase命令 - 修改以前提交记录

作者头像
None_Ling
发布2021-06-02 09:39:22
9350
发布2021-06-02 09:39:22
举报
文章被收录于专栏:Android相关Android相关

问题简述

在某个分支开发Feature过程中,可能在N次前的某个提交中需要修改用户名,而该分支已经Push到远端。

此时可以在本地分支通过git rebase -i的方式来指定修改某条Commit,修改完后,通过push --force强行同步给远端进行修改。

修改方案

  1. 使用git rebase -i HEAD~n进行修改,此时终端会展示出来从n次前修改到现在的Commit记录。

git rebase -i Head~2

  1. 将对应commit前的标识从pick改为edit,代表在rebase的过程中该次Commit需要修改。

image.png

  1. 在修改完后通过wq保存起来,然后开始对每个标记edit的commit进行提交
  2. 通过git commit --amend -author "xx"修改该次提交
  3. 修改完后,通过git rebase --continue完成rebase操作,在本地完成修改
  4. 通过git push --force-with-lease origin remote将本地的提交完全同步到远端

注意事项

  1. 由于该操作会将该N次提交通过产生新提交的方式进行修改,所以最好是force push,否则会产生Merge的操作。
  2. 在rebase前,本地与远端分支最好先pull,保证该分支代码与远端分支,否则在强制push到远端后会有部分提交被覆盖
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题简述
  • 修改方案
  • 注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档