<Git命令使用>当前版本,历史版本,版本切换
添加修改仓库中文件,用到的git命令是
git add <xx>
git commit -m "xxx"
首先要说一下,在操作系统文件系统中更改仓库目录里的文件只是更改文件而已,而git管理系统并没有任何变化,我们使用git add和git commit命令是在改变git版本管理系统。
使用git log命令可以显示从最近到最远的提交日志,加上 --pretty=oneline参数可以精简显示内容。
git内部有个指向当前版本的HEAD指针,当回退版本时,Git仅仅是把HEAD指向你要退回的指定版本。版本回退使用git reset命令。
git reset --hard HEAD^ //恢复到上个版本。
git reset --hard e475a
当前版本是HEAD,上一个版本是HEAD^,上上一个版本是HEAD~2,往上100个版本是HEAD~100,以此类推。当然,--hard后面的参数有两种,可以是HEAD^指针,也可以是版本号的前几位。
(这里简单说一下,版本号也就是commit id,是一个SHA1计算出来的一个非常大的数字,用16进制表示)
如果我们使用git reset回到了过去的某个版本,再使用git log查看提交日志,可以发现当前版本之后的版本都看不到了,这不是说那些后来的版本都删除了,只是因为git log指令本身只显示从HEAD指针往前的提交历史。我们依然可以使用git reset --hard 指令回到后来的某个版本。另外还可以使用git reflog命令查看全部提交和版本切换历史。
总结:
HEAD指向的版本就是当前版本,使用命令git reset --hard <commit_id>可以在历史版本间穿梭,同时仓库内的文件也会恢复到指定历史版本。
git log 查看从HEAD指针往前的全部历史版本。
git reflog 查看命令历史。