前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >repo回退

repo回退

作者头像
Erwin
发布2019-12-31 12:19:28
2K0
发布2019-12-31 12:19:28
举报
文章被收录于专栏:啸天"s blog

执行下面这样的repo命令就行了:

代码语言:javascript
复制
  repo forall -c 'commitID=`git log --before "2017-03-17 07:00" -1 --pretty=format:"%H"`; git reset --hard $commitID'

参数说明:

代码语言:javascript
复制
forall

  操作分支中的所有仓库

代码语言:javascript
复制
-c 

 只操作当前分支

代码语言:javascript
复制
--before

  早于指定时间点的提交记录

代码语言:javascript
复制
-1

  只显示最近的1条记录(注意这是数字 1 ,如果要显示 2 条就写 2,以此类推)

代码语言:javascript
复制
"2017-03-17 07:00"

  希望回退到的日期(时间点)

代码语言:javascript
复制
--pretty

  以指定格式显示提交记录 %H  提交记录的hash值,即commit id(其它格式及更详细的信息可以使用命令git log --help打印帮助信息并查看“PRETTY FORMATS”小节)

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

注意事项: 命令里的单引号'以及要注意区分! 前后两个是单引号' 当中两个是

举例: repo forall -c 'commitID=git log --before "2017-04-15 07:00" -1 --pretty=format:"%H"; git reset --hard $commitID'

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档