IDEA Git操作(二)HEAD分离状态

目录

HEAD分离状态

准备提交结构

 HEAD分离状态

操作符 ^

操作符 ~ 和强制移动分支位置

准备提交结构

操作符 ~ 和强制移动分支位置

reset 和 revert

准备提交结构

用 reset 撤销提交

用 revert 撤销提交


HEAD分离状态



准备提交结构




切换到 master 并将 master 重置到第二次提交

a

删除 bugFix 

a

 新建 bugFix 分支

a

 切换到 master 并做一次提交

a

 切换到bugFix,并做一次提交

a

 对 bugFix 再做一次提交

a

 HEAD分离状态

用哈希值切换到最后一次提交
a




这时,HEAD 和 bufFix 是分离的状态

a

操作符 ^




切换到 master

a




现在,HEAD 在 master 位置
a

使用操作符 “^” 切换到 c3

git checkout bugFix^

# 在 dos 命令中,^是特殊符号,需要加双引号,所以要写成:
git checkout "bugFix^"

在 Terminal 终端中运行命令

a




现在,HEAD 在 bugFix 的上一个提交位置

a

操作符 ~ 和强制移动分支位置



 



准备提交结构




切换到 master
a



提交一次

a



再切换到 bugFix 提交一次

a




HEAD移动到 master 的上一个提交

git checkout "master^"

a

bugFix 强制移动到 bugFix^
通过 -f 参数可以强制移动分支的位置

git branch -f bugFix "bugFix^"
  • 1

a




bugFix 分支上现在有一个隐藏的提交:“添加打印-2”,看一下它的哈希值

git reflog
  • 1

a

操作符 ~ 和强制移动分支位置




master 强制移动到隐藏提交上(上一步看到的哈希值)

git branch -f master b6c4
  • 1

a

bugFix 强制移动到初始提交

git branch -f bugFix bugFix~3
  • 1

a




切换到第二次提交

git checkout "HEAD^"

a

reset 和 revert



 



准备提交结构




master 重置到第二次提交,删除 bugFix 分支

a




新建 pushed 分支,并提交一次
a

重新切换到master,再新建 local 分支并执行一次提交

a

用 reset 撤销提交




重置 local 分支到上一个提交

git reset local^

# dos中要加双引号
git reset "local^"

local 的提交被撤销了
a

用 revert 撤销提交




先切换到 pushed 分支,然后用 revert 撤销pushed分支的变更

a



revert 会在当前分支上前进一步,生成的新的提交
a




新生成的提交与“添加打印2”的提交相同,相当于把“添加打印3”撤销了
a

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值