Chinaunix首页 | 论坛 | 博客
  • 博客访问: 342284
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 476
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-01 19:08
个人简介

Android/Linux/音频/驱动

文章分类

全部博文(41)

文章存档

2017年(21)

2016年(20)

我的朋友

分类: Android平台

2017-03-23 15:29:48

执行下面这样的repo命令就行了:
  repo forall -c 'commitID=`git log --before "2017-03-17 07:00" -1 --pretty=format:"%H"`; git reset --hard $commitID'

参数说明:
forall  操作分支中的所有仓库
-c  只操作当前分支
--before  早于指定时间点的提交记录
-1  只显示最近的1条记录(注意这是数字 1 ,如果要显示 2 条就写 2,以此类推)
"2017-03-17 07:00"  希望回退到的日期(时间点)
--pretty  以指定格式显示提交记录
%H  提交记录的hash值,即commit id(其它格式及更详细的信息可以使用命令git log --help打印帮助信息并查看“PRETTY FORMATS”小节)

命令含义:
 这条repo命令的实质就是在当前分支的每个仓库下执行git log命令,找出该仓库下符合时间条件的第一个提交记录,然后对该仓库执行git reset --hard操作。就这么简单。

阅读(4740) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~