commit后面字符是计算出的hash值,每一个hash值对应版本信息,版本的回滚,前进其实是HEAD指针(下图第三行蓝色标注,表示当前版本)的移动。
关键命令
$ git reset --hard 75aed0c // hard后为要跳到的版本索引值现在log中有两条记录,second commit 中新增了功能 现在不需要新功能了,于是reset到first commit 的版本 现在log中 sceond commit 记录被覆盖了
现在又再次需要新功能了,用以下命令可以找回被覆盖的commit版本
git reflog git cherry-pick e7da2f2(hash值)可以看出sceond commit又找回来了 需要注意的是git reflog与git log的区别
git reflog会保留所有的操作记录 但是git log不会保留reset之前的记录
工作区:是文件夹中可见的目录 暂存区:前面提到的.git(Git版本库)中最重要的一个部分stage即暂存区 add、commit操作对应两个区的关系如下图。
Github创建仓库,要与本地库同名 windos下赋值https链接执行以下命令
$ git remote add origin https://github.com/djiyt/blogs.git //本地库关联远程库 $ git push origin master //将本地文件push到远程库 git clone https://github.com/djiyt/blogs.git //克隆远程库