• 4fun
    2019-01-21
    可以使用 git reflog 命令查找历史,然后利用 git reset --hard HAED@{n} 的方式恢复。
    
     5
  • 渴望做梦
    2019-02-21
    老师,如果发现之前提交的commit不想要了,想恢复成之前的样子,是不是就不得不用git push -f命令了呢?

    作者回复: 自己独自使用的分支,可以采用push -f 的方式。

    团队集成分支,通常做法不是去掉不想要的commit,而是把不想要的commit的内容采用revert的方式生成新的commit,以此去掉不想要的变更。然后push到远端

    
     3
  • LDxy
    2019-01-05
    那使用了这个命令之后还能恢复原样吗?

    作者回复: 如果想拯救还是有办法的,当然得先通知到团队,停止使用该分支,包括基于该分支创建新的分支。其次,只要git仓库里面原来的commit还在就能恢复成原样,实现的方式有许多种。

    比如,在gitlab上恢复的话,可以把破坏掉的分支先删除掉,然后基于原来的commit重新建出该分支。

    如果在git客户端恢复的话,先把本地分支reset回原来的commit,然后朝远端push -f 即可。

    
     1
  • gone with the win...
    2019-01-05
    老师,没有写别人push -f的方法

    作者回复: 我们本节强调的是:不要去强制修改团队集成分支的历史,否则容易丢失变更的内容,也容易把集成分支的历史变得“动荡”,从而让代码协作变得困难。

    个人的开发分支尚未合入到集成分支之前,可以通过 -f 的方式变更分支历史,他人push -f的方法和我们自己执行的方式是相同的。

    如果回答的内容还对不上你的困惑,欢迎把具体的疑问提到 https://github.com/DevOpsLakes/devopslakes.github.io/issues 里面去。

    
    
  • pyhhou
    2019-01-03
    感觉和 rm -rf / 这个命令的危害差不多
    
    
我们在线,来聊聊吧