git回退

git回退
  1. 清除未跟踪的文件
    git clean -dxf
    清除所有未跟踪文件,包括纳入ignored的文件。
    如果要保留ignored的文件修改,使用参数-df
  2. 本地修改后,回退还没有缓存的文件(没有执行$git add a.txt)
    $vim a.txt
    $git checkout  a.txt
  3. 本地修改后,回退已经缓存的文件
    git reset HEAD <文件路径>  (撤销缓存)
    git checkout  文件路径    (回退修改)
  4. 本地修改后,回退已经提交的文件 (已经执行 $git  commit -am "message" )
    $vim a.txt
    $git commit -am "message" a.txt
    $git  reset master~1  (master分支向前回退一个提交)
    这是,a.txt 的这次提交已经被取消了, 这是的状态是a.txt 刚被修改的状态,可以用
    $git checkout a.txt   回到a.txt 被修改前的状态。
  5. 情景3 将a.txt 文件回退到某个版本
    $git log a.txt
    选择回退的SHA1值,
    $git checkout SHA1 a.txt
    此时a.txt 是 SHA1时的文件内容
    注意这种方式只回退了文件内容,原来的提交的commit 信息还在
  6. 本地进行了修改但不想要了直接回退到最后一次提交
    1. 先用git add .  目的是如果有新添加的文件但还没有用git add . 纳入版本控制则先把它纳入版本控制。否则git reset --hard 时不能把这些文件删除
      或者使用git clean -dx先把新添加未纳入版本控制的文件删除
    2. 再用git reset --hard HEAD




posted @ 2013-03-22 23:10  man1m  阅读(776)  评论(0编辑  收藏  举报