记录一下git 操作回退的过程
假设 master 上有三次提交记录:分别依次是 commit1-m, commit2-m, commit3-m
如果要依据 第一次提交(commit1-m) 修改代码, 步骤如下:
1. 首先当前分支是master, 使用 git reset --hard commit1-m(commitId) , 回退到 第一次提交记录的代码状态;
2. 检出新的分支, git checkout -b dev(分支名称为dev), 此时所在分支为dev
3. 切换master 分支, git checkout master
4. 在master 上, 执行 git pull ,使master 恢复成最新的状态, 提交状态为 commit3-m
5. 切换为 dev 分支, git checkout dev
6. 在dev 上 进行代码修改.
7. 切换为master, 把dev上的修改,合并到master 上, git merge dev
8. 提交代码记录
特别命令:
git push -f orgin dev(分支名称) 此命令,会用本地仓库的代码覆盖掉远程仓库的代码, 包括提交记录. 小心使用
命令 :git reflog 可以查看所有的 log, 包括覆盖掉的log, 用于 git reset 到指定的 commitId