相关文章:
关于GIT Checkout的使用,请参考文章:Git使用手册:git checkout 创建分支、切换分支
关于Git status命令使用解读,请参考文章:Git使用手册:git status 查看本地工作区、暂存区中文件的修改状态
关于Git diff和Git add命令使用,请参考文章:Git使用手册:git diff 、 git add 、 git diff --cached 命令详解
关于Git commit命令使用详解,请参考文章:Git使用手册:git commit -m/-am/-a -m 提交文件至本地仓库区
关于Git fetch命令使用,请参考文章:Git使用手册:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地
关于Git pull命令使用,请参考文章:Git使用手册:git pull origin 拉取代码到本地,解决拉取代码时发生的文件冲突
关于Git push命令使用,请参考文章:Git使用手册:git push 推送提交本地仓库代码文件到远程仓库
关于Git reflog命令使用,请参考文章:Git使用手册/Git教程:git reflog使用、查看历史版本记录
1)找回删除的版本代码并创建新分支
结合上一篇文章Git使用手册/Git教程:git reset使用/git reset mixed soft hard使用详解及区别/git代码版本回退,在最后进行git reset --hard 操作后,不会保留指定版本后的代码,同时git log中也无法看到指定版本后的提交版本历史,若我们想找回丢掉的某一版本的代码的话,可以使用如下命令:
命令: git checkout -b 分支名称 commit id
作用:根据指定的commit id的版本内容创建一个新分支,从而新分支的内容就是指定版本的内容。
结合上一篇文章,我们先使用git reflog 查看提交版本历史记录:
上图中,是我们使用git reset --hard 后,git reflog的结果,其中版本为7cd6092版本的代码已经不存在了。
若我们想要找回7cd6092版本的代码的话,可以使用我们之前的提到的命令,执行结果如图:
如图,此时我们已经创建了一个名为backup-code的分支,切换到指定分支后,即可看到版本7cd6092的代码内容。
或使用如下命令:
命令:git branch 分支名称 commitId
该命令同样能达到git checkout -b 分支名称 commitId 命令产生的效果,根据指定commitId版本的内容创建新分支。
至于二者的区别,请参考我之前的文章:
2)git reflog与git log的区别