zoukankan      html  css  js  c++  java
  • 测试开发CICD——Git——window上安装git——git reset 命令—— 用于回退版本,可以指定退回某一次提交的版本

    git reset 命令用于回退版本,可以指定退回某一次提交的版本。

    git reset 命令语法格式如下:

    git reset [--soft | --mixed | --hard] [HEAD]

    --mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。


    git reset [HEAD]

    实例:

    $ git reset HEAD^            # 回退所有内容到上一个版本  
    $ git reset HEAD^ hello.php  # 回退 hello.php 文件的版本到上一个版本  
    $ git  reset  052e           # 回退到指定版本

    --soft 参数用于回退到某个版本:

    git reset --soft HEAD

    实例:

    $ git reset --soft HEAD~3 # 回退上上上一个版本

    --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:

    git reset --hard HEAD

    实例:

    $ git reset hard HEAD~3  # 回退上上上一个版本  
    $ git reset hard bae128  # 回退到某个版本回退点之前的所有信息。 
    $ git reset --hard origin/master    # 将本地的状态回退到和远程的一样 

    注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。

    HEAD 说明:

    • HEAD 表示当前版本

    • HEAD^ 上一个版本

    • HEAD^^ 上上一个版本

    • HEAD^^^ 上上上一个版本

    • 以此类推...

    可以使用 ~数字表示

    • HEAD~0 表示当前版本

    • HEAD~1 上一个版本

    • HEAD^2 上上一个版本

    • HEAD^3 上上上一个版本

    • 以此类推... 

     

     

    git reset HEAD

    git reset HEAD 命令用于取消已缓存的内容。

    我们先改动文件 README 文件,内容如下:

    # Runoob Git 测试
    # 菜鸟教程 

    hello.php 文件修改为:

    <?php
    echo '菜鸟教程:www.runoob.com';
    echo '菜鸟教程:www.runoob.com';
    echo '菜鸟教程:www.runoob.com';
    ?>

    现在两个文件修改后,都提交到了缓存区,我们现在要取消其中一个的缓存,操作如下:

    $ git status -s
        M README
        M hello.php
    $ git add .
    $ git status -s
    M  README
    M  hello.php
    $ git reset HEAD hello.php 
    Unstaged changes after reset:
    M    hello.php
    $ git status -s
    M  README
        M hello.php

    现在你执行 git commit,只会将 README 文件的改动提交,而 hello.php 是没有的。

    $ git commit -m '修改'
    [master f50cfda] 修改
        1 file changed, 1 insertion(+)
    $ git status -s
        M hello.php

    可以看到 hello.php 文件的修改并未提交。

    这时我们可以使用以下命令将 hello.php 的修改提交:

    $ git commit -am '修改 hello.php 文件'
    [master 760f74d] 修改 hello.php 文件
        1 file changed, 1 insertion(+)
    $ git status
    On branch master
    nothing to commit, working directory clean

    简而言之,执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存。

    ===================================================================================

  • 相关阅读:
    构建业务用例
    CentOS 7使用Redis Cluster
    pymysql.err.OperationalError: (1054, "Unknown column 'aa' in 'field list'")(已解决)
    Flask框架实现登录注册功能(mysql数据库)
    C#实现登录功能(连接SQLServer数据库)
    大数据智能加工系统——纸上原型分析
    Windows环境下启动Redis报错:Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功完成。(已解决)
    HBase数据库基础操作
    决策树——非正常企业数目预测
    MongoDB启动报错:Unrecognized option: storage try 'mongod --help' for more information(已解决)
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15154351.html
Copyright © 2011-2022 走看看