我们首先回顾一下 git reset命令:
1. git reset --mixed:此为默认方式,等同于不带任何参数的git reset。
2,. git reset --soft 回退到某个版本,只回退了commit的信息,如果还要提交,直接commit即可(本地修改的内容变成未提交状态),索引(暂存区)和工作目录的内容是不变的
3. git reset --hard: 彻底回退到某个版本,本地的源码也会变为上一个版本的内容,所有提交的修改内容也会丢失,自己本地修改的代码也会消失。
一:自己的代码写错并git到远程仓库
这个比较简单,如果是自己代码写错,那就直接回溯到上一个提交版本
输入 git reset --mixed 上一个版本号 或者 git reset 上一个版本号
二:自己提交代码时因为误操作和远程库冲突,导致远程库发生一些意料不到的改变,如代码紊乱,别人上传的代码被覆盖删除等
首先,把远程仓库回溯到你提交之前的版本。
git remote origin #(远程仓库分支)
git log # 找到要回滚的提交,假设是f4ac2d9e2
git reset --hard (f4ac2d9e2) #强制回溯到设置的回滚版本
其次操作本地仓库代码
git checkout your_branch #切回自己的本地分支
git reset --soft commitID # 进行软回溯。也就是保留自己本地的修改,把之前远程更新的代码切回去 这个最好回溯到自己上次提交的版本。这样在你之后提交的代码你就全部消除了
git pull origin your_branch # 把远程代码拉到本地
这样 就回到之前的正确版本了,自己修改的代码也不会发生变化
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)