今天开发过程中有涉及到回滚,然后回滚之后以该版本修改提交到分支的情况,熟悉了几个简单的命令
git reflog 查看提交过的版本号和注释
git reset --hard commit的id 或者 git reset --hard HEAD~ 本地回滚
重点是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