账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    GIT如何修改author date和commiter date
    72
    0

    需要使用gitlab的merge request方式,在尝试new Merge Request时gitlab页面报错,经过查看gitlab后台日志,显示
    “Rugged::OdbError (Failed to parse commit aef3846d6401d68asdfsdf281c39cb584b812d - cannot parse commit time):
    app/services/compare_service.rb:11:in `new'
    app/services/compare_service.rb:11:in `execute'
    app/controllers/projects/compare_controller.rb:13:in `show'”

    看了这个commit ,author_date和commiter_date是2099年(没错,这个项目之前是开放修改的,开发人员为了自测改了本地日期,commit时忘了改回来了)。总之,这个项目上有一些commit都是这两个日期在当前日期之后的,估计是这个日期影响了compare,现在尝试把它们改回来。

    查看了很多资料,觉得git filter-branch应该能够解决这个问题,尝试了如下脚本:

    git filter-branch -f --env-filter '
       if [ $GIT_COMMIT = aef3846d6401d68asdfsdf281c39cb584b812d ]
       then
           export GIT_AUTHOR_DATE="Mon Jun 25 14:13:00 CST 2018"
           export GIT_COMMITER_DATE="Mon Jun 25 14:13:00 CST 2018"
       fi'     

    然而并没有起作用,脚本正常运行完,日期还是没有变化。
    有没有处理过类似问题的兄弟望赐教!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 倚楼听雨. 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部