<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 查看命令历史。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥