美文网首页
代码回滚回退

代码回滚回退

作者: milletmi | 来源:发表于2018-06-19 10:14 被阅读0次

    1.没有push

    这种情况发生在你的本地代码仓库,可能你add ,commit 以后发现代码有点问题,准备取消提交,用到下面命令

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

    --mixed
    会保留源码,只是将git commit和index 信息回退到了某个版本.

    --soft
    保留源码,只回退到commit 信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.

    --hard
    源码也会回退到某个版本,commit和index 都回回退到某个版本.(注意,这种方式是改变本地代码仓库源码)
    当然有人在push代码以后,也使用 reset --hard <commit...> 回退代码到某个版本之前,但是这样会有一个问题,你线上的代码没有变,线上commit,index都没有变,当你把本地代码修改完提交的时候你会发现权是冲突.....
    所以,这种情况你要使用下面的方式

    2.已经push

    对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致.你要用到下面的命令
    revert
    git revert用于反转提交,执行revert命令时要求工作树必须是干净的.
    git revert用一个新提交来消除一个历史提交所做的任何修改.
    revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新.(这里不会像reset造成冲突的问题)

    相关文章

      网友评论

          本文标题:代码回滚回退

          本文链接:https://www.haomeiwen.com/subject/vyxaeftx.html