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

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

git 批量提交修改文件_Git批量修改提交历史相关推荐

  1. git add 所有修改文件_Git管理修改、撤销和删除文件

    备注: 知识点 管理修改 撤销修改 没有`git add`添加到暂存区时的撤销 `git add`添加到暂存区后的撤销 git commit提交后的撤销 删除文件 确定从版本库中删除文件 从暂存区把误 ...

  2. git 提交文件_GIT不小心提交了大文件导致提交失败怎么办?

    出现问题的原因 在commit的时候,我们之前提交的版本里面已经包含了些大文件了,虽然后来在新的提交里面删除了这些大文件,但是之前commit的记录还是存在,所以之后提交还是会失败 1) 模拟一下环境 ...

  3. 批量重命名文件和批量修改文件扩展名

    批量提取文件名称和批量修改文件扩展名 在想提取文件的目录下,新建一个txt文件: 在txt文件中输入以下代码: 将txt后缀名改为bat; 双击这个文件,即可. 代码1:所有文件格式 @echo of ...

  4. git add 所有修改文件_Git 技术干货!工作中quot;Gitquot;的使用实践和常用命令合集!

    作者:洋仔聊编程 出自:InfoQ 写作平台 原文:xie.infoq.cn/article/1ce91dc60431b1b8845729d41 工作中git是一项必不可少的技能,在项目的开发进程中起 ...

  5. Git修改文件大小写的修改

    开发项目时文件驼峰命名不规范,本地修改好了,git上不区分大小写,导致合作开发时,同事一直报错,还要手动修改文件名字. 一.执行如下命令 git config core.ignorecase true ...

  6. git pull忽略指定文件_Git忽略提交规则

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. 简单来说一个场景:在你使用git add .的时候,遇 ...

  7. git拉取单个文件_Git拿来就用

    简介 Git[1]是 Linus 开源的分布式代码版本控制工具. Q:版本控制工具有哪些? A: 集中式:SVN.CVS.VSS 等 分布式:BitKeeper.Git 等 Q:集中式和分布式有什么区 ...

  8. 几分钟教你批量重命名文件,批量更改数据的方法

    批量更改数据的方法有很多,今天为您介绍的是使用Renamer这款专门为批量重命名文件而设计的一款工具,使用Renamer可以批量重命名文件,还可以批量更改文件的数据,操作简单,可快速地同时更改多个文件 ...

  9. linux 修改文件明,linux修改文件名你肯定不知道可以这样操作

    在Linux环境下修改文件名可以有不同的命令方式,比如rename.mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法. 对于单个的文件,可 ...

最新文章

  1. 为什么我的python没有run_为什么我的returncode=0而没有stdoutsubprocess.run?
  2. 渲染测试软件 d15,D5 Render(D5 渲染器)1.7.0 正式版发布 | 一款 RTX 实时光线追踪可视化实时渲染引擎,而且是国产软件!...
  3. arm linux嵌入式网络控制系统,基于ARM uCLinux的网络控制系统设计与实现
  4. hbase java框架_Hadoop学习笔记—15.HBase框架学习(基础实践篇)
  5. Android各种各样的Drawable-更新中
  6. 每天学一点儿shell:Linux三剑客——awk命令
  7. eclipse jsp没有提示_JSP+Struts2+JDBC+Mysql实现的校园宿舍管理系统
  8. 利用 LotusScript 灵活操作 Lotus Notes 富文本域
  9. c语言a 寻路算法,JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
  10. declare begin end 中if怎么写_习语系列第45期:”未雨绸缪“英语怎么说?
  11. 系统相机裁剪比例_如何正确设置相机:6个最常见的错误,你还在犯错吗?
  12. tengine快速安装
  13. rabbitm rpm傻瓜式安装
  14. 论文阅读 -- unsupervised triplet hashing for fast image retrieval笔记
  15. Android API升级到30遇到的问题
  16. 修改Arduino IDE背景和字体颜色
  17. hash算法原理详解
  18. vue3+ts+vite,使用高德api实现搜索城市展示在地图上
  19. 发那科机器人请关闭电源_FANUC机器人常见错误恢复步骤,你真的都会吗?
  20. Android-BlutoothBle,蓝牙中心设备(peripheral)向外围设备(GattServer)连续写入多个Characteristic的注意事项

热门文章

  1. python基础教程pdf刘浪_《Python基础教程(第3版)》 PDF高清完整版_初学者如何学习Python...
  2. Vue3 SuerMap iClient构建报Uncaught TypeError utils.inherits is not a function
  3. 你很难想象有的人是怎么通过HCIE-RS面试考试的
  4. 知名国产论坛,这下凉凉了 !
  5. flutter图标库
  6. QQ,新浪,SNS等公众平台的登录及api操作
  7. 免费视频直播、点播H5播放器SkeyeWebPlayer 结合百度地图sdk实现电子地图播放功能
  8. UE4 学习笔记(十四)NPC血条组件
  9. 牛人(ZZH)推荐机器学习网站
  10. 一个让人不得不转的故事-《通宵达旦工资只有3200 博客网架构师艰难浪迹于北京》