git 远程仓库版本的回退以及git reset 几种常用方式记录

由于 github push 了两个比较潦草的commit, 自己很不满意,又不想重新开vpn进行上传,所以找了一下相关的教程。

  • 最后研究了一下,原理为先在本地还原到你想要的commit,然后强制push 到远程仓库,强制将远程仓库还原到你想要的commit.
    # 比方说我想 返回到 a1edaeb37a5 这个commit.
    # 首先现在本地进行还原。
    git reset --hard  a1edaeb37a5
    
    # 然后强制push 到远程仓库
    git push -f  git@192.168.1.4:chenfulin5/u-boot_2016.05.git  master:master

  • 这种强制push的方式有点危险 ,平时的 push 就用普通的 push 就行。

  • git reset 也分几种还原

    git reset --help
    
    # 平时我们的还原通常选用 `git reset --<mode> [<commit>]`  这种模式,这种模式也有几种情况:
    # mode:
    --soft  这个就是除了git commit 还原外其他的都保留,比如说git status 里面的内容和代码的修改。
    --mixed 这个就是 除了代码修改保留外其他的都还原, 包括git commit 和 git status 里面的内容。
    --hard  这个就将所有的都还原,包括代码 ,git add 后的内容以及 git commit 里面的内容。

参考:http://www.cnblogs.com/kidsitcn/p/4513297.html

Read The Fucking Source Code
posted @ 2017-04-19 10:26  陈富林  阅读(17812)  评论(1编辑  收藏  举报