当前位置: 首页 > news >正文

Git回到某个分支的某次提交

1.切换到需要操作的分支(<branch-name>是分支名称)。 命令如下:

git checkout <branch-name>

2.获取代码的提交记录 。命令如下:

git log

按q退出当前命令对话。

获取到某次提交或者合并的hash值(下文命令中的<commit-hash>)之后就能使用命令回退版本了。

 

要在Git中回到某个分支的某次提交,可以使用git reset命令。

使用git reset命令

1.‌硬回滚(Hard Reset)‌:这会丢弃自指定提交以来的所有更改,并将HEAD、索引和工作目录都移动到指定的提交。命令如下:

git reset --hard <commit-hash>

警告:硬回滚会丢弃所有未提交的更改,所以在执行此操作之前,请确保你已经保存了所有重要的工作‌。

2.‌混合回滚(Mixed Reset)‌:这会丢弃自指定提交以来的所有更改,并将HEAD和索引移动到指定的提交,但不会改变工作目录。命令如下:

git reset --mixed <commit-hash>

混合回滚与不带任何标志的git reset命令效果相同‌。

3.软回滚(Soft Reset)‌:这会将HEAD移动到指定的提交,但不会改变索引和工作目录。所有自指定提交以来的更改都会被保留为暂存的更改。命令如下:

git reset --soft <commit-hash>

比如git reset,同混合回滚:

 

强制推送到远程仓库

在本地回滚到某次提交后,如果需要将这些更改同步到远程仓库,可以使用以下命令:

git push -f

这里的-f参数表示强制推送,确保远程仓库的分支也更新到当前的提交状态‌。

使用git revert命令

另一种回到某次提交的方法是使用git revert命令。这个命令会创建一个新的提交来反转指定的提交,从而保留提交历史。命令如下:

git revert <commit-hash>

使用git revert可以保留提交历史,并且不会丢失任何未提交的更改‌。

http://www.lryc.cn/news/485938.html

相关文章:

  • [前端面试]javascript
  • 对象的初步认识
  • layui 输入框带清空图标、分词搜索、关键词高亮
  • Vue 3 + TypeScript: 类型安全的前端开发实践
  • Python爬虫知识体系-----requests-----持续更新
  • Swift的可选绑定(Optional binding)
  • 硬石电机学习2024116
  • 行业类别-金融科技-子类别区块链技术-细分类别智能合约-应用场景供应链金融课题
  • ElementPlus el-upload上传组件on-change只触发一次
  • 论文阅读:Uni-ISP Unifying the Learning of ISPs from Multiple Cameras
  • AntD表单自定义组件
  • 19-简单理解JavaScript中的Promise:手写Promise实现
  • elementUI input 禁止内容两端存在空格,或者是自动去除两端空格
  • Go语言24小时极速学习教程(一)基础语法
  • LLMs之Code:Qwen2.5-Coder的简介、安装和使用方法、案例应用之详细攻略
  • pytest结合allure做接口自动化
  • TypeScript简介:TypeScript是JavaScript的一个超集
  • 【循环测试试题2】小X与三次方
  • 【Python · PyTorch】卷积神经网络(基础概念)
  • 深入描述dts和dtsi的区别
  • 京准时钟:一种北斗卫星校时器的结构设计
  • 【WiFi】ubuntu20.4 WiFi6 无线抓包环境搭建及使用
  • 《Java核心技术 卷I》用户界面AWT事件继承层次
  • 蓝牙 HFP 协议详解及 Android 实现
  • sqli-labs靶场17-20关(每日四关)持续更新!!!
  • 动态规划-完全背包问题——518.零钱兑换II
  • [模板总结] - 单向链表LinkedList操作
  • fastadmin多个表crud连表操作步骤
  • 山西省网络建设与运维第十八届职业院校技能大赛(样题)
  • 服务端高并发分布式结构进阶之路