[git] 版本回退----git reset的使用

  • git log
    • 查看提交的历史. 用于回退到哪个版本
  • git log --pretty=oneline | git log --oneline
    • 每一次的提交历史只显示一行, 只包括 commit_id 和 commit_message
  • git log --all --decorate --oneline --graph
    • 显示git分支图
    • --all 显示所有, 不加的话, 只会显示到当前所在分支版本的路径, 为合并的不会显示
    • --graph 核心option, 用来显示图
    • --oneline 一行显示每条记录
    • --decorate显示出指向提交的指针的名字,也就是 HEAD 指针, feature/test等分支名称,还有远程分支,标签
  • git reflog
    • 查看命令的历史(包括分支的跳转, 暂存区的提交, 版本的回退等等). 用于失误回退, 需要重返将来时, 查询命令id
  • git reset [--soft | --hard] commit_id
    • 用于回退到指定的版本, commit_id 通过git log 或者 git reflog查询
    • 不想查询commit_id, 也可以使用HEAD^ 表示上一个版本, HEAD^^表示上上一个版本, 以此类推
    • git reset 有三种模式
      • mixed(默认) : 从当前版本 到 回退版本 之间的修改记录 存储在了工作区
      • soft (–soft) : 从当前版本 到 回退版本 之间的修改记录 存储在了暂存区, 可以直接commit再次提交到版本库
      • hard (–hard) : 彻底恢复, 修改记录全部清楚.
    • 本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支
      • git push origin -f branch_name

猜你喜欢

转载自blog.csdn.net/weixin_40996518/article/details/105649120