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

Git - 两种方式撤销已提交到远端仓库的记录并删除提交记录

文章目录

  • 命令行方式

在这里插入图片描述


命令行方式

  1. 确定要撤销的提交记录
    首先,使用以下命令查看提交历史:

    git log
    

    找到想撤销的提交记录的哈希值(SHA) ,比如9c9c98d6f7f28c41d971f8efd51ed31f9720792c

  2. 撤销提交记录

    根据需求选择以下两种方法之一:

    • 使用 git revert:如果想保留提交历史并创建一个新的提交来撤销之前的更改,使用:

      git revert <commit_hash>
      

      这会创建一个新的提交,内容是撤销指定提交的更改。

    • 使用 git reset:如果希望彻底删除提交记录,可以使用:

      • --soft 选项:撤销提交,但保留更改在暂存区。
        git reset --soft <commit_hash>
        
      • --hard 选项:完全撤销提交及其更改(不可恢复)。
        git reset --hard <commit_hash>
        
  3. 推送更改到远端仓库
    如果使用 git revert,只需执行:

    git push origin <branch_name>
    

    如果使用 git reset,需要强制推送(注意:这会覆盖远端历史,其他人可能会受到影响):

    git push origin <branch_name> --force
    
  4. 注意事项和风险

    • 团队协作:使用 git reset --hard 和强制推送会影响其他协作开发者。
    • 备份:在进行重要操作前,最好先备份代码或创建一个新分支。
    • 历史记录:撤销的提交记录在使用 git revert 时仍然保留,但在 git reset 后会被删除,确保了解其影响。

在这里插入图片描述


http://www.kler.cn/a/376475.html

相关文章:

  • 区块链底层协议比较#DAPP开发
  • (五)关于InternVL2的模型训练二(如何训练目标定位模型)
  • 7.使用Redis进行秒杀优化
  • Vagrant使用教程:创建CentOS 8虚拟机
  • Java中I/O系统中的装饰器
  • 架构师备考论文-论软件设计方法及其应用
  • vite 创建了一个项目后,如何实现工程化
  • 【赵渝强老师】Memcached集群的架构
  • 数据结构,问题 G: 字符串匹配问题
  • Spring Boot接收参数的19种方式
  • DiffusionDet: Diffusion Model for Object Detection—用于对象检测的扩散模型论文解析
  • Vite常用插件配置
  • R学习笔记-单因素重复测量方差分析
  • 032_Tiledlayout_in_Matlab中的分块图布局
  • C++/Opengl编程实践
  • 代码随想录一刷——350.两个数组的交集II
  • 024集——CAD 动态显示图形——ed.Redraw(ent)实现(CAD—C#二次开发入门)
  • 初探Flink的序列化
  • centos7 zabbix监控nginx的pv和uv和status_code
  • 无法启动此程序win10玩游戏找不到d3dx9_43.dll缺失的五种常用有效解决方法
  • el-table 修改高亮行样式
  • 基于 Flask 的 Python 应用程序,主要功能包括用户认证、文件上传(CSV 和图片)、图像文字识别(OCR)以及根据识别结果进行一些数据处理和比对
  • [MySQL]DQL语句(一)
  • SRS:构建实时免费视频服务器的全方位指南
  • 使用Nginx作为Web服务器和反向代理
  • Webserver(2.4)进程控制