zoukankan      html  css  js  c++  java
  • Git回滚远程版本

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!

    “房子是租的 但生活不是”

    1.故事的开始

    远程master分支下代码被不小心提交了很多垃圾代码或项目删掉,想要回滚到以前的某一版本并删除commit log。怎么办?情景如图:

    1

    情景很简单。老板上传了个文件,我把他删掉了。有一种办法,把文件再push下,但是也不想他看到图中那comment(ps:这样我才不会被fire)。实现上面场景的代码如下:

    1. vim A.txt
    2. git add .
    3. git commit --"add A.txt"
    4. git push
    5. rm A.txt
    6. git commit --"我删除了老板的东西"
    7. git push

    ————–分割线 ————–

    一头雾水的小白怎么办?怎么办?怎么办?

    push到远程的提交默认是不能修改的,但是一定要修改不是不行:

    1. git push -f

    2.解决之道

    2.1工作区,暂存区,本地版本库 & 远程版本库

    No pic say 个 78。。。

    2

    》》工作区:就是我们操作的目录

    》》暂存区:操作目录的快照

    》》本地版本库:Git的精髓,人人都是中央仓库。也就是Git分布式的好处,自然对比SVN这种集中式

    》》远程版本库:Github这种中央仓库,可以达到共享。

    常用的操作也如图所示,不言而喻了。

    2.2 实战解决

    Talk is cheap,Show me the code or money~ 代码如下:

    1. git log
    2. git reset --soft ${commit-id}
    3. git stash
    4. git push -f

    详解如下:

    第1行:git log 查看提交历史,然后找到要回滚的版本。历史如下,

    1. commit 84686b426c3a8a3d569ae56b6788278c10b27e5b
    2. AuthorJeffLi1993 <qiangqiangli1993@gmail.com>
    3. Date:   Fri Apr 19:11:32 2016 +0800
    4.    我删除了老板的东西
    5. commit 72bd6304c3c6e1cb7034114db1dd1b8376a6283a
    6. AuthorJeffLi1993 <qiangqiangli1993@gmail.com>
    7. Date:   Fri Apr 19:05:23 2016 +0800
    8.    add A.txt

    我们想要回滚到的版本就是:72bd6304c3c6e1cb7034114db1dd1b8376a6283a

    第2行:git reset –soft 72bd6304c3c6e1cb7034114db1dd1b8376a6283a

    撤销到某个版本之前,之前的修改退回到暂存区(不懂看漂亮的图哦~)。soft 和 hard参数的区别就是,hard修改记录都没了,soft则会保留修改记录。

    第3行:暂存为了安全起见。

    第4行:git push -f

    将本地master push 到远程版本库中, -f 强制覆盖

    3. 小结

    git reset 回滚到某个版本之前
    git push -f 强制push覆盖

    欢迎点击我的博客及GitHub — 博客提供RSS订阅哦!

    ———- http://www.bysocket.com/ ————- https://github.com/JeffLi1993 ———-

    微         博:BYSocket  豆         瓣:BYSocket  FaceBook:BYSocket  Twitter    :BYSocket

  • 相关阅读:
    Hash(学习笔记)
    [POI2012]OKR-A Horrible Poe(hash+线性筛素数)
    质数(学习笔记)
    [AHOI2014/JSOI2014]宅男计划(贪心+三分)
    [HEOI2015]定价(贪心+数学)
    Trie字典树(学习笔记)
    CF258D. Little Elephant and Broken Sorting(DP+概率期望)
    矩阵(01背包+滚动数组)
    [2015北大自招夏令营]产品排序(区间DP)
    HTML
  • 原文地址:https://www.cnblogs.com/Alandre/p/5370274.html
Copyright © 2011-2022 走看看