git之游离head处理

使用场景,需要在某个历史提交做测试,执行checkout commitID即可回退到某个提交并将指针进入游离状态。如果在游离指针上做提交,切换到其他分支后,所有游离提交都会丢失。

恢复方法:

1、git reflog 查看所有记录,获取最新提交记录commitid

2、git branch test_branch commitid 根据此提交创建分支

3、checkout branch_test //切换到此分支

4、直接使用新创建的分支或者git merger 合并到其他分支即可

回滚操作:

git reset //回滚到某个历史版本,本地工作区会改变,之后提交的都会丢失

git revert //回滚到某个提交,之后的提交不会丢失,可以检出此提交,本地代码变更到此提交,且修改不会丢失。指针进入游离状态

相关推荐
A_Lonely_Cat3 小时前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
和你看星星2 天前
Git rerere:让重复冲突只解决一次
git
嘻嘻仙人6 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson6 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友6 天前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
深海鱼在掘金7 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森7 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang7 天前
Git 必备命令指南:从日常高频到项目开发实战
git
叫我少年8 天前
Windows 中安装 git
git
深海鱼在掘金13 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git