发布时间:2026/9/3 5:22:27
Git常用命令1 1、本地Git命令1.1、Git CommitGit Commit 项目快照Snapshot每次 git commit 并不是粗暴地复制整个目录而是对已跟踪文件当前状态的轻量级快照记录。Git 通过对比当前版本与上一次提交的差异diff将变更打包存储因此提交记录非常轻量。1.2、Git BranchGit Branch 可移动的标签指针分支本质上只是一个指向某个提交记录的可移动指针仅此而已。它不复制任何文件不占用额外存储空间。为什么早建分支多用分支优势说明零成本创建分支只是 41 字节的引用文件创建再多也没有存储或内存开销逻辑隔离按功能/bug/实验拆分工作避免单分支臃肿混乱并行开发多人或多任务同时进行互不干扰安全实验新想法随便试搞砸了删掉分支即可不影响主线关键命令# 创建分支但停留在当前分支gitbranch newImage# 切换分支gitcheckout newImage⚠️ 常见误区创建 ≠ 切换gitbranch newImage# 创建了 newImage 分支# 但 HEAD 仍然指向 maingitcommit# ❌ 提交会跑到 main 上newImage 原地不动如何理解 “提交记录”、”分支“和 HEAD提交记录Commit 项目的快照每个提交保存了那一刻所有已跟踪文件的完整状态每个提交除第一个外都有一个 parent 指针指向上一个提交这样一条一条连起来就是项目的历史链分支Branch 可移动的标签指针分支本身不存代码它只是指向某个提交的引用当你在这个分支上提交时这个指针会自动向前移动指向最新的提交其他分支如果不切换过去就原地不动HEAD 你在哪HEAD 是一个特殊指针指向当前所在的分支HEAD 决定了你的下一次提交会让哪个分支跟着走1.3、Git Mergegit merge 整合两条历史线当你想把一个分支的修改合并到另一个分支时git merge 会创建一个新的提交记录这个提交的特殊之处在于它有两个 parent 节点。它相当于在说“我要把这两个分支的所有历史提交以及它们各自的祖先全部包含进来。”⚠️ 关键注意点合并方向很重要git merge bugFix 是把 bugFix 合并到当前分支不是反过来合并提交不可少它是两条分支历史的交汇点没有它其中一条分支的历史会被隐藏1.4、Git Rebasegit rebase “变基”把提交记录连根拔起重新栽种到另一棵树的顶端Rebase 会取出当前分支上的一系列提交复制它们然后在目标分支的最新提交之后逐个重新应用。原提交并不会被删除只是不再被引用新产生的是内容相同但哈希不同的副本。效果让并行开发的两条分支看起来像是按顺序串行开发的一样。Rebase vs Merge 对比维度git mergegit rebase历史形状保留分支结构产生分叉和合并提交线性历史无分叉提交记录保留原提交新增一个合并提交复制提交原提交悬空哈希改变可读性能看清什么时候合并的像一条直线非常干净安全性安全不改变已有提交改写历史需谨慎使用适用场景公共分支合并、保留完整协作痕迹本地分支整理、特性分支上线前清理2、远程Git命令2.1、Git Clonegit clone 把远程仓库完整复制到本地远程仓库本质上就是你本地仓库在另一台计算机上的拷贝通过互联网进行通信。git clone 不只是下载代码而是把远程仓库的完整历史、所有分支、所有提交都复制到本地。克隆后本地得到什么内容说明完整提交历史从第一个提交到最新提交全部在本地所有分支远程分支映射为origin/分支名如origin/main默认检出分支通常自动切换到main或仓库默认分支远程别名远程仓库被命名为origin后续用这个名字引用远程仓库的三大价值备份即使本地硬盘损坏代码还在远程协作团队成员可以共享代码、审查变更托管GitHub/GitLab 等平台基于此提供 CI/CD、Issue、PR 等功能2.2、远程分支远程分支 远程仓库状态的本地镜像远程分支的命名格式为 /例如 origin/main教程简写为 o/main。它反映的是你上次与远程通信时远程仓库对应分支的状态。远程分支的三大特性特性说明只读快照它是远程状态的本地缓存不能直接在上面提交通信才更新只有执行fetch/pull/push时才会刷新切换即分离 HEAD切到远程分支会自动进入 detached HEAD防止误操作2.3、git fetchgit fetch 纯下载操作它只做两件事且只做这两件事下载远程仓库中本地缺失的提交记录更新本地远程分支指针如 origin/maingit fetch 做了什么 vs 没做什么✅ 做了❌ 没做下载远程的新提交到本地修改你的本地main分支更新origin/main等远程分支指针合并代码到当前分支让你能看到远程的最新状态改动你工作目录里的任何文件为什么需要 git fetch远程分支如 origin/main是你上次和远程通信时的快照。当同事推送了新代码你的 origin/main 还是旧的。git fetch 就是去远程看一眼把新东西下载下来更新快照。常见误区“我 git fetch 了为什么代码没变”因为fetch 不是 pull。fetch 只是把远程的数据拿进家门但还没摆到桌上。你的本地分支、工作目录完全不受影响。2.4、git pullgit pull git fetch git merge 的简写它是 Git 中最常用的同步远程代码命令把下载远程更新和合并到本地分支两步合为一步。2.5、git pushgit push 发布你的成果它是 git pull 的反向操作把本地仓库的新提交上传到远程仓库让远程分支跟上你的本地分支。一旦 push 成功团队成员就能从远程拉取你的代码。三件事同步发生上传本地缺失的提交到远程仓库更新远程仓库的对应分支指针如远程的 main更新本地的远程跟踪分支如 origin/main2.6、远程历史分叉与解决方案问题场景你周一 clone 了仓库在本地开发了一周。周五准备 push 时发现同事已经推送了新代码——远程历史和你本地的基准已经分叉了。远程C0 → C1 → C2同事的新提交 本地C0 → C1 → C3你的提交基于旧 C1此时直接 git push 会被拒绝! [rejected] main - main (non-fast-forward)Git 拒绝的原因你的 C3 基于旧的 C1而远程已经前进到 C2。Git 不会猜测是回退远程还是强行合并它强制你先处理这个分歧。两种解决方案核心思路都一样先把远程最新变更拿进来让你的工作基于最新的代码再 push。方案一Rebase线性历史gitfetch origingitrebase origin/main 把远程最新代码拉下来然后把我的本地工作挪到它头顶上gitpush origin main效果你的 C3 被复制到 C2 后面历史变成一条直线。结果C0 → C1 → C2 → C3’优点历史干净、线性便于回溯。缺点改写本地提交的哈希如果已推送到其他远程需注意。方案二Merge保留分叉gitfetch origingitmerge origin/maingitpush origin main效果产生一个合并提交 M把两条历史连在一起。结果C0 → C1 → C2 → M(合并提交)↘ C3 ↗优点保留完整协作痕迹不改动已有提交。缺点历史图会出现分叉和合并节点。简写命令完整流程简写fetchrebasepushgit pull --rebase→git pushfetchmergepushgit pull→git push

相关新闻

2026/9/3 5:17:26

TRAE 接入 SenseNova 大模型 API 教程:配置方法与使用步骤

TRAE 接入 SenseNova 大模型 API 教程:配置方法与使用步骤TRAE 自定义模型配置教程:接入商汤日日新 SenseNova API,填写 Base URL、API Key 与模型 ID 的完整步骤关键词 TRAE 接入 SenseNova、TRAE 自定义模型、TRAE 配置教程、SenseNova API…

2026/9/3 5:17:26

商汤日日新 SenseNova U1 Fast 使用教程:信息图生成 API 调用方法

商汤日日新 SenseNova U1 Fast 使用教程:信息图生成 API 调用方法SenseNova U1 Fast 使用教程:独立图像生成接口调用方法、11 种宽高比与信息图 prompt 写法关键词 SenseNova U1 Fast、sensenova-u1-fast、商汤日日新、信息图生成、AI 生成信息图、文生图…

2026/9/3 5:17:26

AMD 异构计算全家桶:FPGA、Zynq、Versal、Radeon 与 Ryzen AI 的选型地图

引言:AMD 的全栈计算版图在收购 Xilinx 之后,AMD 成为全球唯一一家同时拥有高性能 CPU、GPU 和 FPGA/自适应 SoC 产品线的半导体公司。这一独特地位使得 AMD 能够提供从云端到边缘、从通用计算到专用加速的全谱系异构计算解决方案。本回答将围绕四类典型…

2026/9/3 5:27:27

Python实现6S大气校正:遥感影像自动化处理与多卫星支持

简介:本资源是面向遥感科研与工程应用开发者的6S大气校正Python实现工具包,专为解决GF-1/2、Landsat-8、Sentinel-2等主流卫星影像的大气影响去除问题而设计,适用于地表反射率反演、植被指数计算、水体识别等定量遥感分析场景,兼顾…

2026/9/3 5:27:27

线性调频Chirp信号工程落地:从数学公式到嵌入式实现

简介:本资源是一份面向通信工程专业学生与初阶信号处理实践者的MATLAB教学脚本,聚焦Chirp调制原理及其在扩频BOK(Binary Offset Keying)中的实现与验证。资源解决的核心问题是:如何在MATLAB中从零构建Chirp信号、完成相…

2026/9/3 5:27:27

基于分形理论的粗糙表面接触刚度MATLAB计算与工程应用

简介:本资源是一套面向机械工程、材料科学及接触力学研究者的MATLAB计算工具,聚焦于粗糙表面法向接触刚度的分形理论建模与数值求解,解决传统平滑表面假设在微纳尺度接触分析中的局限性问题。压缩包为RAR格式,共含2个MATLAB脚本文…

2026/9/3 5:27:27

C语言贪吃蛇实战手记:链表+状态机实现高分期末作业

简介:本资源是一份高质量的C语言期末大作业项目——贪吃蛇大作战完整源码包,面向计算机相关专业本科生及C语言初学者,解决课程设计、期末考核中缺乏可运行、可展示、可讲解的综合性实践项目问题。压缩包共29个文件,包含核心源码文…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/3 0:02:06

零基础装 OpenClaw 小龙虾 AI:Windows 一键部署教程与避坑要点

Windows 部署 OpenClaw 完整教程|本地 AI 智能体 5 分钟落地,环境配置一次搞定 版本说明:Windows 3.1.0 / Mac 2.7.9 写在前面 近两年开源 AI 领域有一款被称作「数字员工」的工具持续走热,它就是 OpenClaw,圈内人更习…

2026/9/3 0:02:06

Hermes Agent 本地部署新方案:Windows 整合包减少依赖报错

Windows 本地部署 Hermes 太麻烦?这版一键包 5 分钟快速跑通 很多人想体验 Hermes Agent,但真正开始部署时,往往会卡在环境配置这一步。 需要安装各类依赖、调试运行环境、处理路径问题,还容易遇到命令行报错、系统拦截、文件缺…

2026/9/3 0:02:06

实测 OpenClaw 一键包,5 分钟完成本地自动化环境搭建

OpenClaw 本地 AI 自动化工具部署指南|使用一键包规避环境配置难题 痛点:部署 AI 自动化工具常常要处理 Python、Node.js 各类依赖,版本冲突、环境配置耗费大量时间,OpenClaw 提供一键安装包,降低部署门槛。 适配系统&…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…