zoukankan      html  css  js  c++  java
  • git本地文件回滚操作

    今天有几个文件改在了其他分支上。需要回滚。

    参考了下面两篇文章:

    Link    Link

    简单讲,分多个不同的阶段:

    1. 用git status命令看,发现是unstaged,那么就是只在working tree里面。

    这时候,git checkout <文件名>,就可以了。

    当然,我试了几次没成功,看起来是需要对branch指定清楚版本才行,未解。

    后来是进行了下面的 git reset . 之后,继续使用

    git  reset 5c5feea2d8854b3b7d7be3c03764d154429b872a OnetimeRefund.php

    才可以的。

    2. 已经git add到stage里面的文件,需要先使用如下命令:

    git reset . 

    然后已经staged的文件会恢复为未stage。

    3. 本地repository的回滚:

    git reset --hard HEAD~3 (回滚3个版本,但是如果已经提交到远程,那么push会报错)

     

    4. 远程repository的回滚:

    git revert 51fa57da7c5352ddb(后面这个是git log里面能够查到的)

    另外,关于git merge 是否加 --no-ff 的选项,通过git log 加上图形选项,这个就有直观的理解了:

    以下是不加--no-ff的git log图形化内容(icode的merge也是默认不加--no-ff的):

    git log --graph --pretty=oneline --abbrev-commit

    *   3361e4e Merge branch 'onetime_refund_update' into master
    |  
    | * a36e7e5 Update OnetimeRefund.php for new Refund interface
    | *   81149df Merge branch 'trade' into develop
    | |  
    * |    442087b Merge branch 'random_code_new' into master
    |    
    | * | | c6664bd modify expire time from 7 to 35 days
    | * | | d52c212 modify expire time from 7 to 34 days
    | * | |   3399d42 Merge remote-tracking branch 'remotes/origin/master' into random_code_new
    | |    
    | |/ / /  
    |/| | |   

    而普通的git log大概看不出来:

    commit 3361e4ec3dc9d7b4fb2faf6bdcdcc6975bb88d0e
    Merge: 442087b a36e7e5
    Author: xxx
    Date:   Wed Dec 14 15:20:06 2016 +0800
    
        Merge branch 'onetime_refund_update' into master
    
    commit a36e7e5cc51b3c5405a486afd35df26a01dd9dd4
    Author: xxx
    Date:   Wed Dec 14 14:56:20 2016 +0800
    
        Update OnetimeRefund.php for new Refund interface
        
        Change-Id: Ide737112a7c5ceb9077aa34406b453ed2ea2a109
    
    commit 442087bed0c62f3e5f738b906f7764143cf49fee
    Merge: 379ce39 c6664bd
    ......


  • 相关阅读:
    简单下拉列表的实现
    App Store 加急审核解析
    iOS 封装一个带复制功能的UILabel
    Xcode 控制台打印Unicode字符串转换为中文
    修改系统UITableViewCell的ImageView大小
    iOS SDWebImage实现原理详解
    Mac电脑用终端生成SSH key 访问自己的Github
    MVC与MVVM之间在IOS中的区别
    iOS TabBarItem设置红点(未读消息)
    virtualenv 创建python虚拟环境
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6179543.html
Copyright © 2011-2022 走看看