git回退和清理

命令执行前后都是同一个版本

  1. 特殊情况:

    stage->unmodified,

    modified->unmodified,

    untracked文件删除

    命令:

    git stash :这个是将所有stage、untracked和modified的数据存储起来。取消了git add 、新增文件和修改。

  2. 特殊情况:


    modified->unmodified,

    untracked文件删除

    命令

    git clean -f -d :这个是直接清理掉,-f是为了删除untracked状态的文件(没有备份)。取消了新增文件和修改。

  3. 特殊情况:
    modified->unmodified
    命令:
    git checkout  [file] 或者git checkout . (表示清楚放弃所有modified状态的数据)。取消了修改。

 

和版本有关:

#返回到某个节点,不保留修改。unmodified->unmodified

git reset --hard HASH    (危险,如果有远程仓库保存可以用git pull还原,其它的就没有法了)。

回退干净,取消了git add、git commit和git clean -f -d。

#返回到某个节点,保留修改,放add。unmodified->modified

取消了git add、git commit

git reset [--mixed]  HASH

#返回到某个节点,保留修改。unmodified->stage
git reset --soft HASH

取消了git commit

 

你可能感兴趣的:(项目管理)