Git批量修改提交历史

    有些时候我们可能需要批量修改提交历史,当然了,最近一次的提交历史很简单我们可以利用

git commit --amend

来进行最近一次提交的修改,如果你此时想要更新作者提交时间等也可以在amend之后加上 --date="$(date -R)"

   但是很多时候我们需要更改的往往不是一条两条提交信息,有些时候需要批量更改提交历史,这个时候我们就可以用到git rebase -i(--interactive)这个选项了。

    首先第一步,你需要确定你需要更改历史的范围,比如A-B-C-D,你此时HEAD在D,你想修改B和C的历史,那这个时候你需要用到如下命令

git rebase --i HEAD~2

这个时候,Git会弹出一个对话框里面会写如下提示,例如

pick 54d5ef0 test2
pick 63d5ef0 test1

默认情况下的pick表示此时你认同这段提交,里面可以更改的选项有edit(e),reword(r)等,其中最重要的两个就是这个,前者表示你可以修改提交历史乃至进行相关文件的state区的修改,类似git commit --amend,后者比前者稍微弱一点,仅仅让你改写提交信息,这里面你可以自己作为判断。

    举个简单的例子,比如我们想更改B,C,D的作者时间,我们可以依次输入以下命令

git rebase -i HEAD~2

# 将A,B,C对应的pick修改为edit之后

git commit --amend --date="$(date -R)"

git rebase --continue


依次输入直到B,C,D都满足之后,这个时候你再查看git log,你会发现Git的作者历史时间已经被你批量修改成功了。

    希望这篇文章可以帮到你,领略和学习Git的强大之处~

 

参考链接:  http://stackoverflow.com/questions/454734/how-can-one-change-the-timestamp-of-an-old-commit-in-git

                 http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/zh_cn/ch05.html

                 http://bbs.csdn.net/topics/380207612

              http://blog.csdn.net/transformer_han/article/details/7082767

转载于:https://www.cnblogs.com/rickyk/p/3981083.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要修改git提交代码的名字,你可以按照以下步骤进行操作。首先,使用命令"git config user.name"查看当前git提交者名称。接下来,使用命令"git config --global user.name '填写个人姓名'"将提交者名称修改为你想要的名字。最后,再次使用"git config user.name"命令来确认提交者名称已经成功修改。这样就完成了修改git提交代码名字的操作。在Linux环境下,你也可以直接使用命令来修改提交者名称,使用"git config user.name"命令查看当前提交者名称,使用"git config --global user.name 'test'"来修改提交者名称为'test',这是一个示例,你可以根据需要填写你想要的名字。12 #### 引用[.reference_title] - *1* [修改git上传代码的提交者姓名](https://blog.csdn.net/weixin_45324044/article/details/121953234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [修改git提交代码时的提交者名称](https://blog.csdn.net/casual_clover/article/details/126523342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值