Git 命令全流程总结

以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结,按操作场景分类整理:


一、初始化与基础操作

操作命令
初始化仓库git init
添加所有文件到暂存区git add .
提交到本地仓库git commit -m "提交描述"
首次提交需配置身份git config user.name "用户名"
git config user.email "邮箱"

二、查看操作记录

场景命令
查看完整提交历史git log
简洁版提交历史(推荐)git log --oneline
查看所有操作记录(含删除)git reflog

三、撤回操作(核心场景)

1. 未提交的修改
场景命令
丢弃工作区单个文件的修改git checkout -- 文件名
丢弃所有未暂存的修改git checkout -- .
撤销暂存区的文件(保留修改)git reset HEAD 文件名
2. 已提交的版本
场景命令
撤销最近提交(保留修改)git reset --soft HEAD^
彻底回退到上一版本git reset --hard HEAD^
回退到指定版本git reset --hard <commit_id>
回退到前 N 个版本git reset --hard HEAD~N
3. 已推送到远程
场景命令
安全撤回(推荐)git revert <commit_id>
强制覆盖远程(慎用!)git reset --hard HEAD^
git push -f origin 分支名

四、操作流程图解

工作区 → `git add` → 暂存区 → `git commit` → 本地仓库 → `git push` → 远程仓库

撤回方向:

revert/push -f
reset--hard
reset HEAD
checkout --
远程仓库
本地仓库
暂存区
工作区
丢弃修改

五、黄金法则

  1. 操作前查记录:执行撤回前先用 git log --oneline 确认目标版本
  2. 硬重置需谨慎--hard 会永久丢弃代码,确保已备份
  3. 团队协作原则
    • 已推送的提交用 git revert 代替 reset
    • 避免强制推送 (push -f) 除非是私有分支

💡 终极安全建议:重要修改前创建分支备份:
git branch backup-branch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件功能测试报告都包含哪些内容?

软件功能测试报告是软件开发生命周期中的重要文档&#xff0c;主要涵盖以下关键内容&#xff1a;    1.测试概况&#xff1a;概述测试目标、范围和方法&#xff0c;确保读者对测试背景有清晰了解。 2.测试环境&#xff1a;详细描述测试所用的硬件、软件环境&#xff0c;确保…

OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数在 GPU 上执行双边滤波操作&#xff0c;是一种非线性平滑滤波器&#xff0c;能够在 保留边缘的同时去除噪声。 函数原型 void cv::cuda:…

Perplexity AI:重塑你的信息探索之旅

在信息爆炸的时代&#xff0c;如何快速、精准地获取所需知识&#xff0c;并将其转化为行动力&#xff1f;答案或许就藏在 Perplexity AI 这款强大的智能工具中。它不仅仅是一个搜索引擎&#xff0c;更是一个能理解你、与你对话、为你深度解析信息的智能伙伴。告别繁琐的信息筛选…

Java高级反射实战:15个场景化编程技巧与底层原理解析

引用 在Java的世界里&#xff0c;反射机制如同赋予开发者一把“万能钥匙”&#xff0c;它打破了静态编程的边界&#xff0c;让代码在运行时拥有动态获取类信息、操作对象属性和方法的能力。从Spring框架的依赖注入&#xff0c;到MyBatis的SQL映射生成&#xff1b;从JSON序列化…

构建 MCP 服务器:第 3 部分 — 添加提示

这是我们构建 MCP 服务器的四部分教程的第三部分。在第一部分中&#xff0c;我们使用基本资源创建了第一个MCP 服务器&#xff1b;在第二部分中&#xff0c;我们添加了资源模板并改进了代码组织。现在&#xff0c;我们将进一步重构代码并添加提示功能。 什么是 MCP 提示&#…

MySQL 索引优化(Explain执行计划) 详细讲解

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 MySQL 索引优化&#xff08;Explain执行计划…

使用 IntelliJ IDEA 安装通义灵码(TONGYI Lingma)插件,进行后端 Java Spring Boot 项目的用户用例生成及常见问题处理

一、什么是通义灵码&#xff08;TONGYI Lingma&#xff09;&#xff1f; 通义灵码是阿里巴巴推出的智能代码辅助工具&#xff0c;结合大模型技术&#xff0c;支持代码生成、用例生成、代码补全等功能&#xff0c;能极大提升开发效率。 二、在 IDEA 中安装通义灵码插件 打开 In…

AI编程在BOSS项目的实践经验分享

前言 在人工智能技术革新浪潮的推动下&#xff0c;智能编程助手正以前所未有的速度重塑开发领域。这些基于AI的代码辅助工具通过智能提示生成、实时错误检测和自动化重构等功能&#xff0c;显著提升了软件工程的全流程效率。无论是初入行业的开发者还是资深程序员&#xff0c;…

JVM 类加载器 详解

类加载器 两个类来源于同一个 Class文件&#xff0c;被同一个Java虚拟机加载&#xff0c;只要加载它们的类加载器不同&#xff0c;那这两个类就必定不相等 这里所指的“相等”&#xff0c;包括代表类的Class对象的equals()方法、isAssignableFrom()方法、isInstance()方法的返…

Javascript 编程基础(5)面向对象 | 5.1、构造函数实例化对象

文章目录 一、构造函数实例化对象1、基本语法2、构造函数与原型的关系3、完整的原型链4、构造函数的特点5、prototype与__proto__属性5.1、对象实例的__proto__属性5.2、prototype属性仅存在于函数对象5.3、实例与原型的关系5.4、获取对象原型 6、注意事项 前言&#xff1a; 在…

自动驾驶科普(百度Apollo)学习笔记

1. 写在前面 在过去的几年里&#xff0c;自动驾驶技术取得飞速发展&#xff0c;人类社会正逐渐走向一个新时代&#xff0c;这个时代中&#xff0c;汽车不仅仅是一个交通工具&#xff0c;更是一个智能的、能够感知环境、做出决策并自主导航的机器伙伴。现在正好也从事这块的工作…

Windows应用-音视频捕获

下载“Windows应用-音视频捕获”项目 本应用可以同时捕获4个视频源和4个音频源&#xff0c;可以监视视频源图像&#xff0c;监听音频源&#xff1b;可以将视频源图像写入MP4文件&#xff0c;将音频源写入MP3或WAV文件&#xff1b;还可以录制系统播放的声音。本应用使用MFC对话框…

MATLAB生成大规模无线通信网络拓扑(任意节点数量)

功能&#xff1a; 生成任意节点数量的网络拓扑&#xff0c;符合现实世界节点空间分布和连接规律 效果&#xff1a; 30节点&#xff1a; 100节点&#xff1a; 500节点&#xff1a; 程序&#xff1a; %创建时间&#xff1a;2025年6月8日 %zhouzhichao %自然生长出n节点的网络% …

TDengine 开发指南—— UDF函数

UDF 简介 在某些应用场景中&#xff0c;应用逻辑需要的查询功能无法直接使用内置函数来实现&#xff0c;TDengine 允许编写用户自定义函数&#xff08;UDF&#xff09;&#xff0c;以便解决特殊应用场景中的使用需求。UDF 在集群中注册成功后&#xff0c;可以像系统内置函数一…

C#提取CAN ASC文件时间戳:实现与性能优化

C#提取CAN ASC文件时间戳&#xff1a;实现与性能优化 在汽车电子和工业控制领域&#xff0c;CAN总线是最常用的通信协议之一。而ASC&#xff08;ASCII&#xff09;文件作为CAN总线数据的标准日志格式&#xff0c;广泛应用于数据记录和分析场景。本文将深入探讨如何高效地从CAN…

计算机网络基础总结:TCP/IP 模型、TCP vs UDP、DNS 查询过程

在学习计算机网络的过程中&#xff0c;理解 TCP/IP 模型与 OSI 模型的对应关系、掌握 TCP 与 UDP 的区别&#xff0c;以及熟悉 DNS 的查询过程&#xff0c;是打好网络基础的关键。本文将围绕这三部分进行简明扼要的讲解。 一、TCP/IP 模型与 OSI 七层模型的对应关系 1. OSI 七…

基于PHP的扎染文创产品商城

有需要请加文章底部Q哦 可远程调试 基于PHP的扎染文创产品商城 一 介绍 扎染文创产品商城系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap&#xff0c;jquery.js等。系统角色分为用户和管理员。 技术栈&#xff1a;phpmysqlbootstrapphpstudyvscode 二…

数据库学习(三)——MySQL锁

一、MySQL锁 当多个用户或进程并发操作数据库时&#xff0c;为了避免数据冲突、脏读、不可重复读、幻读等问题&#xff0c;数据库通过锁机制来保证数据的一致性和完整性。 MySQL 锁的总体分类&#xff1a; 分类维度类型说明按作用对象表级锁&#xff08;Table Lock&#xff…

<3>-MySQL表的操作

目录 一&#xff0c;创建表 二&#xff0c;查看表结构 三&#xff0c;修改表 四&#xff0c;删除表 一&#xff0c;创建表 语法&#xff1a; CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 eng…

【OSG学习笔记】Day 15: 路径动画与相机漫游

本章来学习下漫游相机。 路径动画与相机漫游 本届内容比较简单&#xff0c;其实就是实现物体的运动和相机的运动 当然这两个要一起执行。 贝塞尔曲线 贝塞尔曲线&#xff08;Bzier curve&#xff09;是一种在计算机图形学、动画制作、工业设计等领域广泛应用的参数曲线&am…