Git 版本控制 -- 理解 Git Rebase 指令

本文深入解析Git中reset命令的三种模式(--soft, --mixed, --hard),并详细说明了每种模式下commit信息、index信息及源码的回退情况。通过实例演示如何使用gitreset进行代码回退,并提醒在使用--hard模式时的注意事项。

git reset 使用场景为丢弃 commit 后的 commit信息、index 信息或者源码。

git reset 三种模式

 - -soft
 - -mixed(默认)
 - -hard

git reset - -soft HEAD~n或commit id

回退项: commit 信息
回退情况: 当前 commit 与目标 commit 信息之间的 commit 信息丢失,此时index 信息未发生改变 ,此时的状态为 —- stage 状态后未 commit 的状态,执行 git commit 将本次操作提交到本地分支。

git reset (- -mixed)HEAD~n或commit id

回退项: index 信息 (暂存区信息)、commit 信息
回退情况: 当前 commit 与目标 commit 信息之间的 commit 信息丢失,此时index 信息也发生改变,此时的状态为 —- unstage状态,需执行git add . 将文件变更暂存,执行git commit将本次操作提交到本地分支。

git reset - -hard HEAD~n或commit id

回退项: index 信息、commit信息、源码
回退情况: 当前 commit 与目标 commit 信息之间的 commit信息、index信息、源码全部丢失。

此时如果想把现在的代码块提交到远端,使用以下命令:

git push origin HEAD --force

注意,此命令会使远端代码也进行回退,慎用。

git reset 使用

git reset [模式] commit Id

使用指令 git reflog 查看操作历史,定位想要恢复的 commit Id
根据情况执行 git reset commitId
一般恢复为源码恢复,其他两种模式没有恢复的价值(个人认为),所以一般的执行为git reset –hard commit Id

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值