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

GIT - 如何从某个分支的 commit创建一个新的分支?

        如果上一个Release 分支被污染了,想要还原这个分支最原始的样子,有什么办法或者说该怎么办呢?简单来说,就是如何从某个指定的 commit 创建一个新的 Git 分支

操作非常简单!

命令格式

git branch <new-branch-name> <commit-hash-id>

具体步骤举例: 假设你想从 commitid 是 a1b2c3d4 创建一个分支叫 featureBranch-from-old

git branch featureBranch-from-old a1b2c3d4

这条命令会:在 a1b2c3d4 这个提交点创建新分支 feature-from-old。

如果想要创建之后,同时切换到这个新分支,可以运行下面这段代码:

git checkout -b <new-branch-name> <commit-hash-id>

接上面的例子,实际运用如下:

git checkout -b featureBranch-from-old a1b2c3d4

其他补充+注意点

  • 提交哈希(commit hash id)可以是完整的,也可以是前几位,只要唯一即可,比如 a1b2c3d

  • 上面的命令只会让你在本地创建了一个新的分支,但是在远程Bitbucket, 我们不会看到任何分支,如果我们想要同步到远程仓库,可以紧接着运行下面的代码:

    git push --set-upstream origin <new_branch_name>

    如果是上面的例子,那么命令就是下面这样:

    git push --set-upstream origin featureBranch-from-old
  • 特别注意:这个是任何情况下都可以的,即使是在Main Repo里面(没有权限提交代码的Repo中也是可以的)因为这个并没有涉及任何的代码提交,只是本地仓库和远程仓库之间的分支操作而已!!!

  • 总结:两条命令即可

    ​1. git branch <new-branch-name> <commit-hash-id>
    2. ​git push --set-upstream origin <new_branch_name>//示例完整流程
    git branch featureBranch-from-old a1b2c3d
    git push --set-upstream origin featureBranch-from-old​

更多 git 分支管理技巧

可以查看这篇博客:Git 常用指令合集(持续更新)_git的常用指令-CSDN博客

http://www.lqws.cn/news/145189.html

相关文章:

  • Arduino学习-按键灯
  • 智慧充电:新能源汽车智慧充电桩的发展前景受哪些因素影响?
  • ros2--图像/image
  • 各种排序算法的再整理
  • 新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
  • Java转Go日记(六十):gin其他常用知识
  • Angular报错:cann‘t bind to ngClass since it is‘t a known property of div
  • 电路图识图基础知识-自耦变压器降压启动电动机控制电路(十六)
  • 洛谷题目:P2761 软件补丁问题 (本题简单)
  • SD系列I/O接口cRBX01 2VAA008424R1
  • JavaSec-SSTI - 模板引擎注入
  • 深度学习学习率优化方法——pytorch中各类warm up策略
  • 桂花网蓝牙网关物联网医院动态血糖管理应用案例
  • Vue.js 组件:深入理解与实践
  • Spring Boot缓存组件Ehcache、Caffeine、Redis、Hazelcast
  • 使用 C/C++ 和 OpenCV 添加图片水印
  • Android协程学习
  • 负载均衡将https请求转发后端http服务报错:The plain HTTP request was sent to HTTPS port
  • 模块化架构下的前端调试体系建设:WebDebugX 与多工具协同的工程实践
  • 【图像处理3D】:焦距的像素单位标定
  • 深入浅出 Scrapy:打造高效、强大的 Python 网络爬虫
  • Xcode 16.4 + iOS 18 系统运行时崩溃:___cxa_current_primary_exception 符号丢失的原因与解决方案
  • 基于cornerstone3D的dicom影像浏览器 第二十八章 LabelTool文字标记,L标记,R标记及标记样式设置
  • AMFCNN-RKD:齿轮故障诊断的轻量级多传感器融合模型详解(python代码复现)
  • STM32 NVIC中断控制器
  • 鸿蒙APP测试实战:从HDC命令到专项测试
  • XHR / Fetch / Axios 请求的取消请求与请求重试
  • 【Linux】网络--数据链路层--以太网
  • 4.2 HarmonyOS NEXT分布式AI应用实践:联邦学习、跨设备协作与个性化推荐实战
  • Elasticsearch:spring2.x集成elasticsearch8.x