zoukankan      html  css  js  c++  java
  • git的回退和撤销操作

    回退是git的使用中很常用的一个操作,如果清楚各个回退命令的作用,不仅大大加快代码回退的效率,还能避免代码回退造成的事故

    1、git reset --hard [commit]

    清空暂存和未暂存的更改 ,仓库重置到目标提交。
    也就是说,使用该命令后,文件状态变为目标提交的状态
    所以,可以: git reset HEAD --hard 来丢弃所有已暂存和未暂存的更改

    2、git reset --soft [commit]

    保留暂存和未暂存的更改,仓库重置到目标提交,目标提交之后的所有提交的变更都变为暂存状态。
    也就是说,使用该命令后,文件的状态和使用前一样,变化的只是git相关的状态(暂存、HEAD等)

    3、git reset --mixed [commit][filename](git reset的默认模式)

    保留未暂存的更改,清空暂存的更改,仓库重置到目标提交,目标提交之后的所有提交的变更都变为未暂存状态。
    也就是说,使用该命令后,文件的状态和使用前一样,变化的只是git相关的状态
    所以,可以: git reset HEAD [filename] 来丢弃暂存的更改

    使用git reset时请加倍小心,因为他可以在有更改没提交的情况下使用,若操作失误,有可能丢失没提交的更改 。若想撤销reset操作,可使用git reflog 找到相应的操作记录id,回退之,但是没提交的更改是找不回来了的。

     

    4、git revert [commit]

    生成一个新的提交来撤销某次提交,不会影响此次提交之前的 commit。

    建议使用,生成新的提交可增强提交树的可读性

     

    5、git checkout [filename]

    丢弃未暂存的修改: git checkout [filename] (从暂存区取对应文件覆盖到暂存区)
    丢弃已暂存和未暂存的修改:git checkout [commit] [filename] (清空未暂存的修改,从某个提交取对应文件覆盖到暂存区)

    适用于不想回退整个提交,而是只回退某个(些)文件的情况

  • 相关阅读:
    【大数据】中文词频统计
    【大数据】复合数据类型,英文词频统计
    Hadoop综合大作业
    分布式文件系统HDFS练习
    安装关系型数据库MySQL 安装大数据处理框架Hadoop
    爬取全部的校园新闻
    作业六|获取一篇新闻的全部信息
    理解爬虫原理
    作业——04 中文词频统计
    复合数据类型,英文词频统计
  • 原文地址:https://www.cnblogs.com/JRliu/p/6772993.html
Copyright © 2011-2022 走看看