git 回滚

  今天开发过程中有涉及到回滚,然后回滚之后以该版本修改提交到分支的情况,熟悉了几个简单的命令

  git reflog       查看提交过的版本号和注释

  git reset --hard commit的id  或者  git reset --hard HEAD~   本地回滚

   

  条件:bb.txt文件已经被git管理

  过程:发现bb.txt文件被修改了,发现改了之后不是自己想要的结果  

  目的:想恢复到没有被修改的状态

  解决办法:git checkout bb.txt

   git放弃对当前文件夹的所有文件的修改?

  git checkout .

  

  重点是git rebase

  1.出现情况的背景:

     当你提交的代码后,管理员发现,您的代码不能提交到服务器上,主要原因在于,你的commit 中和服务器中的有些commit不再同一时间轴上,即:你的有些commit要插入到服务器中的某些commit之间,这样就会造成代码的冲突。所以这个时候就要使用git rebase。假如,你平时使用的分支叫 new ,然后在这个分支上你刚提交过几个commit。

   做法:1.新建一个分支,并且代码和服务器中代码同步

         git checkout origin/v2.0 -b temp  

      2.为了保证新建的temp分支代码是最新的,可以多执行下面一步

        git pull

      3.当你新建分支后,系统会自动checkout到temp分支上,此时

        git checkout  new

      4.合并代码,并整理

        git rebase  temp  //会将temp分支的代码合并过来,并按照提交的顺序排序

      5.  因为顺序是重新整理的,所以肯定会出现冲突

      6.解决冲突,最后 git add * ,但不许要git commit

      7.解决后,执行 git rebase --continue

      8.重新提交代码: git push for-*

 

       参考博客:http://blog.csdn.net/wangjia55/article/details/8776409

posted @ 2015-01-27 17:25  泪痕湮灭  Views(439)  Comments(0)    收藏  举报