repo回退當前分支下所有倉庫到指定日期前的最新代碼版本【轉】


本文轉載自:https://blog.csdn.net/u011006622/article/details/70272087

執行下面這樣的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操作。就這么簡單。

 

注意事項: 命令里的單引號'以及`要注意區分! 前后兩個是單引號' 當中兩個是`

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM