赞
踩
当前分支图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A98xBXw8-1593240714867)(https://pic3.zhimg.com/80/v2-a1679d7d0f5882d851e822f283398a89_720w.png)]
切换到之前的某一次提交
执行命令
$ git checkout de11fa87ea
复制代码
提示,当前位于“分离头指针”状态
分支图
注意
使用场景
此处演示分离头指针丢失commit的情况和补救措施
使用IDE修改文件并提交,忽略所有警告,修改后分支图如下
此时接到其他需求,需要切换分支进行紧急修复
执行命令
$ git checkout master
复制代码
分支切换成功,并弹出提示和告警
Warning: you are leaving 1 commit behind, not connected to any of your branches: 199ac20 游离状态修改文件 If you want to keep it by creating a new branch, this may be a good time to do so with: git branch 199ac20 Switched to branch ‘master’ Your branch is up to date with ‘origin/master’.
此时查看分支图,刚才的commit已经不可见
此时发现刚才的commit十分重要,可根据git的提示进行补救
执行命令
$ git branch hot-fix 199ac20
复制代码
再次查看分支图,可见commit已经恢复
以下操作仅适用于本地分支,无远程分支协同工作的情况
当前分支图
执行命令
$ git commit --amend
复制代码
自动弹出编辑器
修改后保存并关闭编辑器即可,输出如下
再次查看分支图
现计划修改如下message
使用IDE拷贝其父提交的SHA值
执行命令,-i表示交互式执行
$ git rebase -i 199ac203c90f881024c6870d56517df9e2080841
复制代码
自动弹出编辑
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。