关于使用git在本地进行版本管理见linux下的版本管理
工作项目中git流程实操见git简明实操模板
想我们在写代码时候,数次修改并提交commit,如果在这个过程中我们后悔了,想回到当初的某一个commit点应该如何实现呢?
如果会用git bash的话,肯定首选命令行模式
三种方式:
1】以目标commit为基础新创建一个分支,并切换到分支上去,这样并不破坏base分支上的任何提交内容,包括你目标commit之前的提交,以及目标commit之后的提交。
例子:你有一个base分支,上面有1/2/3/4四个commit,你现在突然后悔提交了3/4两个commit,或者某种原因你需要以2commit为基础,进行另外某个功能的开发。这时候方法1执行 git checkout 2commitID -b div就是以base分支的2commit为基础,创建了子分支div,并切换到子分支上去,原来的base分支并没有受到影响,这时候你也就能在子分支div上看到你的历史代码了。
2】在当前分支上撤销目标commit之后的所有提交,类似于系统还原
例子:还是上面的base分支有1/2/3/4个commit,这时候执行git reset --hard 2commitID 就是放弃3/4commit,回退到2commit,这时候你也能看到历史代码,但是在2 commit之后的 3/4commit 就永久的丢失了(可以通过一些指令找回来的)。
3】以执行过的指令为目标,进行撤销操作,类似于第二种方法
git log (branch) 查看commit的ID号
git checkout commitId -b 新branch名称 (在指定commit的基础上创建新分支)
git log (branch)
git reset --hard (commit id) 版本回滚
git reflog
git reset --hard (command id) 命令撤销
如果刚开始接触git,对git的操作不熟悉,只习惯图形界面,那么按照以下方式进行操作