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

Git 和 GitHub 学习指南本地 Git 配置、基础命令、GitHub 上传流程、企业开发中 Git 的使用流程、以及如何将代码部署到生产服务器

Windows 上 Git 安装与配置

  • 下载安装:访问 Git 官方网站下载适用于 Windows 的安装程序。运行安装包时会出现许可协议、安装目录、组件选择等界面(如下图)。在“Select Components”页面建议勾选 Git Bash Here 等选项,以便在资源管理器中右键快速启动 Git Bash【69†】。
    安装完成后,可在「开始菜单」或桌面(如果勾选)找到 Git Bash。打开 Git Bash 后,输入 git --version 可验证安装是否成功。

  • 配置全局用户名和邮箱:安装完成后,首先配置 Git 的身份信息,这些信息会记录在每次提交中。在 Git Bash 中运行:

    git config --global user.name "你的名字"
    git config --global user.email yourEmail@example.com
    

    此命令会将用户名和邮箱写入 ~/.gitconfig(Windows 通常为 C:\Users\用户名\.gitconfig)。以后新建的仓库默认都会使用这个身份信息,除非为某个项目单独重写。

  • 生成并配置 SSH 密钥:为了安全地连接远程仓库(如 GitHub),推荐使用 SSH 认证。启动 Git Bash,运行:

    ssh-keygen -t rsa -b 4096 -C "你的邮箱"
    

    按提示一路回车,新生成的密钥文件默认位于 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。然后运行 ssh-agent 并添加私钥:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
    

    将公钥内容复制到你的 GitHub 账户(GitHub 网站 → Settings → SSH keys)中,这样就可以通过 SSH 方式访问 GitHub 了。SSH 密钥用于安全认证,使得 Git 可以在推送或拉取代码时使用密钥而非传统密码。

  • 测试 SSH 连接:在 Git Bash 中运行:

    ssh -T git@github.com
    

    如果提示 Hi username! You've successfully authenticated... 表示已成功连接 GitHub。若出现错误,检查密钥是否正确添加,或是否通过 ssh-add 加载了私钥。

Git 基础命令教程

Git 提供了一系列命令用于仓库管理与日常开发。下面列出常用命令及其作用和示例:

  • git init:在当前目录初始化一个新的 Git 仓库。如果想把一个已有项目纳入版本控制,就在该项目根目录下运行:

    git init
    

    这会创建一个隐藏的 .git 文件夹,表示此目录已被 Git 管理。

  • git clone <仓库地址>:从远程仓库复制(克隆)到本地新目录。比如要获取 GitHub 上的项目:

    git clone git@github.com:用户名/仓库名.git
    

    克隆操作会在本地创建一个与远程仓库相同的副本,通常这是开发者获取项目代码的最常用方式。

  • git add <文件>:将工作目录中的修改添加到暂存区。比如添加当前目录下所有文件:

    git add .
    

    该命令会把指定文件的当前版本记录到暂存区,等待提交到仓库中。常用 . 表示所有文件,也可以指定具体文件或目录。

  • git status:查看工作目录状态,包括已修改、已暂存但未提交的文件等:

    git status
    

    运行后会显示哪些文件已被修改但未加入暂存区、哪些文件已暂存待提交等信息。通过 git status 可以确认当前仓库状态。

  • git commit -m "提交信息":将暂存区的内容作为一个新快照提交到仓库历史。

    git commit -m "实现了用户登录功能"
    

    每次提交都会生成一个唯一的提交记录,包含开发者信息、时间和提交说明。git addgit commit 构成了 Git 最基本的工作流。

  • git log:查看提交历史:

    git log
    

    它列出仓库中所有提交的历史记录,包括提交 ID、作者、日期和提交信息。可以加 --oneline--graph 等选项查看更简洁或图形化的日志。

  • git branch <分支名>:创建新分支。

    git branch feature-x
    

    该命令会创建一个名为 feature-x 的新分支,其实是开发一条并行的提交历史线。然后可以运行 git checkout feature-x 切换到该分支进行开发。使用分支可以实现并行开发,各分支之间相互隔离,不会干扰主干。

  • git merge <分支>:将指定分支的修改合并到当前分支。假设在 main 分支上执行:

    git merge feature-x
    

    Git 会把 feature-x 分支的改动合并到 main 分支中。合并是 Git 中的一个强大功能,用于将不同分支的开发成果整合在一起。合并后可能会出现冲突,需要手工解决(参见下文)。

  • git pull:自动化地从远程获取并合并代码。执行:

    git pull origin main
    

    该命令会先从远程仓库(如 origin)拉取指定分支(如 main)的更新,然后立即合并到当前分支,就像 git fetchgit merge 的简写。通常在开始工作前运行 git pull,确保本地与远程同步。

  • git push:将本地分支的提交推送到远程仓库。一般格式为:

    git push origin main
    

    其中 origin 是远程仓库别名,main 是分支名。此操作会把本地 main 分支的最新提交上传到 GitHub 等远程仓库。通常首次推送还需要加上 -u 参数,如 git push -u origin main,以将远程分支设置为上游分支。

  • git stash:暂存当前工作目录未提交的修改,以便切换分支或临时处理其他事务。使用方法:

    git stash
    

    该命令会把所有未提交的改动(包括已暂存和未暂存的)都保存到一个栈中,并恢复工作目录到干净状态。之后可以使用 git stash pop 恢复这些改动。这对中断当前工作去处理其他紧急任务非常有用。

将本地项目上传到 GitHub

  1. 在本地项目根目录执行:

    git init
    git add .
    git commit -m "首次提交"
    

    这会把当前项目初始化成 Git 仓库,并将所有文件提交为第一个版本。

  2. 在 GitHub 网站上新建一个空的仓库(Repository),记录下仓库的 SSH 地址(如 git@github.com:用户名/仓库名.git)。

  3. 本地添加远程仓库地址并推送:

    git remote add origin git@github.com:用户名/仓库名.git
    git branch -M main    # 将本地默认分支名改为 main(可选)
    git push -u origin main
    
    • git remote add origin <URL> 用于添加远程仓库别名 origin
    • git branch -M main 将当前分支重命名为 main(如果默认是 master)以与 GitHub 上的默认分支名一致。
    • git push -u origin main 将本地的 main 分支推送到远程的 main 分支。执行后,GitHub 上就会出现项目的文件列表。
  4. 此后每次更新代码后,使用 git addgit commit 提交,再运行 git push origin main 将改动同步到 GitHub。第一次 push 后已经指定了上游分支,可以直接使用 git push

企业级开发中的 Git 协作流程

  • 功能分支工作流:团队通常采用 Feature Branch(功能分支)工作流,即新功能在单独的分支(如 feature/login)上开发,完成后通过 Pull Request 合并到主干(main)。这样可以确保主干始终保持可运行状态,同时多个开发者可以并行工作而互不干扰。下图示意了一个典型的功能分支流程:开发者从主干或开发分支切出新分支,完成后合并回主干。

  • Gitflow 工作流:对于发布周期较长或版本管理严格的项目,可采用 Gitflow 分支模型。Gitflow 在 main(发布)和 develop(开发)两个长期分支基础上,创建更多短期分支:每个功能新建 feature/* 分支从 develop 分出来,开发完成后合并回 develop;发布时从 develop 分出 release/* 分支进行最终测试,再合并到 main 并打标签;生产环境发现问题时从 main 分出 hotfix/* 分支修复后再合并回 maindevelop。Gitflow 明确了各类分支的职责,适合需要严格版本控制的大型项目。

  • 多人协作与分支管理:在团队协作时,应统一分支命名规范(如 feature/功能名bugfix/编号 等),并定期同步主干变更。每位开发者都从远程仓库克隆项目后创建本地分支进行开发。使用 git pull 保持与主干一致,避免分支差异过大导致冲突。

  • 代码评审(Pull Request):大多数团队通过 GitHub、GitLab 或 Bitbucket 等平台发起 Pull Request(拉取请求) 来审查代码。在 Pull Request 中,开发者可以邀请同事对自己的改动进行 review,讨论并提出改进意见,再合并到主干。审核时可以查看改动的 diff、运行自动化测试状态等,确保代码质量。正如知名经验所述,“Pull requests 提供了一种从同事那里请求代码审查的方法,并检查最近一次提交的构建状态”。

  • 冲突解决:合并分支时可能遇到 冲突,即不同分支在同一文件同一位置做了不同修改。Git 无法自动合并此类冲突,需要人工介入。通常的做法是打开冲突文件,手动编辑保留正确的代码,删除冲突标记,然后使用 git add 标记冲突已解决,再执行 git commit 完成合并。在解决冲突前,也可以通过 git merge --abort 放弃此次合并,或用 git checkout --ours/--theirs <file> 临时选择某一方版本。及时与团队成员沟通,避免频繁冲突,尽量在合并前拉取最新代码减少冲突发生几率。

从 Windows 部署代码到 Linux 服务器

在企业环境下,常需将代码从开发机部署到远程 Linux 服务器。常见方式包括使用 SSH 进行文件传输或直接在服务器上拉取代码:

  • 使用 SCP 复制文件scp 命令利用 SSH 协议安全地复制文件。例如在 Git Bash 或 PowerShell 中运行:

    scp -r C:\path\to\project user@server.example.com:/var/www/project
    

    其中 -r 表示递归复制整个目录。该命令会要求输入服务器密码,或使用已有的 SSH 密钥免密码登录。SCP 适用于一次性快速复制整个项目目录。

  • 使用 Rsync 同步文件rsync 是一个高效的远程同步工具,只传输改变的文件部分,适合频繁更新时使用。例如:

    rsync -avz -e "ssh -p 22" /c/path/to/project/ user@server.example.com:/var/www/project/
    

    选项中 -a 表示归档模式保留权限等,-v 显示详细过程,-z 启用压缩传输。-e 指定使用 ssh。rsync 仅传输修改过的内容,效率更高。在 Windows 上可以通过 Git Bash 或 WSL 安装并使用 rsync

  • 在服务器上直接克隆/更新仓库:如果服务器可以访问 Git 代码托管平台,也可以在服务器上执行 git clonegit pull。例如:

    ssh user@server.example.com
    cd /var/www
    git clone git@github.com:用户名/仓库名.git
    # 之后如果需要更新,进入项目目录运行:
    git pull origin main
    

    这种方式需要服务器安装好 Git,并确保服务器的 SSH 公钥已被 GitHub 授权。优点是只传输代码改动,不需要每次手工复制整个项目。

注意事项与提示

  • 在 Windows 上使用 scprsync 时,需要在系统中安装 OpenSSH(Windows 10/11 通常已内置),或使用 Git Bash 等工具。
  • 传输前最好先确认服务器目标目录存在并有正确权限。
  • 在首次使用 Git 方式部署时,可能需要先配置服务器端的 SSH key 或运行 ssh-keygen
  • 无论哪种方式,保持文件权限和依赖安装一致很重要,可在服务器上用脚本处理部署后的编译、重启等操作。

参考资料:Git 官方文档、Atlassian 和 GitHub 教程提供了丰富示例和说明。

相关文章:

Git 和 GitHub 学习指南本地 Git 配置、基础命令、GitHub 上传流程、企业开发中 Git 的使用流程、以及如何将代码部署到生产服务器

Windows 上 Git 安装与配置 下载安装&#xff1a;访问 Git 官方网站下载适用于 Windows 的安装程序。运行安装包时会出现许可协议、安装目录、组件选择等界面&#xff08;如下图&#xff09;。在“Select Components”页面建议勾选 Git Bash Here 等选项&#xff0c;以便在资源…...

SUI批量转账几种方法介绍

一、Sui区块链简介 Sui是由前Meta&#xff08;Facebook&#xff09;工程师创建的下一代Layer 1区块链&#xff0c;采用基于Move编程语言的新型智能合约平台。Sui的设计专注于高吞吐量、低延迟和可扩展性&#xff0c;使其特别适合需要处理大量交易的场景。 Sui的核心特点&…...

Vue2到Vue3迁移问题解析

1. 响应式系统的变化 问题&#xff1a;Vue3 使用 Proxy 替代 Object.defineProperty&#xff0c;导致部分 Vue2 的响应式写法失效。解析&#xff1a; 数组直接索引修改&#xff1a;// Vue2&#xff1a;需使用 Vue.set 或 splice this.$set(this.items, 0, new value); this.it…...

【解决】rpm 包安装成功,但目录不存在问题

开发平台&#xff1a;RedHat 8   一、问题描述 [rootproxy ~]# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec # rpmbuild 制作 .rpm 包 [rootproxy ~]# yum -y install /root/rpmbuild/RPMS/x86_64/nginx-1.22.1-1.x86_64.rpm # 安装 .rpm包 …...

深度学习框架显存泄漏诊断手册(基于PyTorch的Memory Snapshot对比分析方法)

点击 “AladdinEdu&#xff0c;同学们用得起的【H卡】算力平台”&#xff0c;H卡级别算力&#xff0c;按量计费&#xff0c;灵活弹性&#xff0c;顶级配置&#xff0c;学生专属优惠。 一、显存泄漏&#xff1a;深度学习开发者的"隐形杀手" 在深度学习模型的训练与推…...

PyTorch中单卡训练、DataParallel(DP)和DistributedDataParallel(DDP)

PyTorch中提供了单卡训练、DataParallel&#xff08;DP&#xff09;和DistributedDataParallel&#xff08;DDP&#xff09;&#xff0c;下面是相关原理与实现代码。 代码下载链接&#xff1a;git代码链接 一、单卡训练 原理 单卡训练是最基础的模型训练方式&#xff0c;使用…...

Redis从入门到实战 - 高级篇(中)

一、多级缓存 1. 传统缓存的问题 传统的缓存策略一般是请求到达Tomcat后&#xff0c;先查询Redis&#xff0c;如果未命中则查询数据库&#xff0c;存在下面的问题&#xff1a; 请求要经过Tomcat处理&#xff0c;Tomcat的性能成为整个系统的瓶颈Redis缓存失效时&#xff0c;会…...

项目计划缺乏可行性,如何制定实际可行的计划?

制定实际可行的项目计划需从明确项目目标、准确评估资源、风险管理、设定合理里程碑以及优化沟通渠道入手。其中&#xff0c;明确项目目标尤为关键&#xff0c;只有在目标清晰、具体且量化时&#xff0c;团队才能有效规划各项活动并衡量进展。例如&#xff0c;目标若模糊或过于…...

React中使用ahooks处理业务场景

// 从 ahooks 引入 useDynamicList 钩子函数&#xff0c;用于管理动态列表数据&#xff08;增删改&#xff09; import { useDynamicList } from ahooks;// 从 ant-design/icons 引入两个图标组件&#xff1a;减号圆圈图标和加号圆圈图标 import { MinusCircleOutlined, PlusCi…...

CNBC专访CertiK联创顾荣辉:从形式化验证到AI赋能,持续拓展Web3.0信任边界

近日&#xff0c;CertiK联合创始人、哥伦比亚大学教授顾荣辉接受全球知名财经媒体CNBC阿拉伯频道专访&#xff0c;围绕形式化验证的行业应用、AI在区块链安全中的角色&#xff0c;以及新兴技术风险等议题&#xff0c;分享了其对Web3.0安全未来的深刻洞察。 顾荣辉表示&#xf…...

基于Spring Boot与jQuery的用户管理系统开发实践✨

引言&#x1f4da; 用户管理系统是企业级应用的核心模块&#xff0c;需实现数据分页、状态管理及高效前后端交互。本文以Spring Boot为后端框架、jQuery为前端工具&#xff0c;构建一个结构清晰的用户管理系统&#xff0c;详解三层架构设计、接口规范及全栈开发流程&#xff0…...

StreamSaver实现大文件下载解决方案

StreamSaver实现大文件下载解决方案 web端 安装 StreamSaver.js npm install streamsaver # 或 yarn add streamsaver在 Vue 组件中导入 import streamSaver from "streamsaver"; // 确保导入名称正确完整代码修正 <!--* projectName: * desc: * author: dua…...

vue3+echarts 做温度计

参考Echarts 做的温度计_echart温度计-CSDN博客 但是现在这个写法不支持了&#xff0c;更新一下&#xff0c;然后修改了温度值和刻度及单位颜色为黑&#xff0c;初始化echarts写法, itemStyle: {normal: {color: #4577BA,barBorderRadius: 50,}},<div id"main14"…...

鸿蒙开发——7.ArkUI进阶:@BuilderParam装饰器的核心用法与实战解析

鸿蒙开发——7.ArkUI进阶&#xff1a;BuilderParam装饰器的核心用法与实战解析 ArkUI进阶&#xff1a;BuilderParam装饰器的核心用法与实战解析引言一、核心概念速览1.1 什么是BuilderParam&#xff1f;1.2 与Builder的关系 二、核心使用场景2.1 参数初始化组件2.2 尾随闭包初始…...

【数据结构】队列的完整实现

队列的完整实现 队列的完整实现github地址前言1. 队列的概念及其结构1.1 概念1.2 组织结构 2. 队列的实现接口一览结构定义与架构初始化和销毁入队和出队取队头队尾数据获取size和判空 完整代码与功能测试结语 队列的完整实现 github地址 有梦想的电信狗 前言 ​ 队列&…...

销售易史彦泽:从效率工具到增长引擎,AI加速CRM不断进化

导读&#xff1a;AI的加入&#xff0c;让CRM实现从“人适配系统”到“系统适配人”&#xff0c;从“管控工具”向“智能助手”跃迁&#xff0c;重构客户关系管理的底层逻辑。 作者 | 小葳 图片来源 | 摄图 AI应用与SaaS的关系&#xff0c;是当前科技与商业领域热议的话题。 当…...

开疆智能Profinet转ModbusTCP网关连接BORUNTE伯朗特系统配置案例

本案例是通过开疆智能Profinet转ModbusTCP网关将西门子PLC与BORUNTE机器人连接的配置案例。具体配置方法如下。 配置过程 Profinet设置 设置网关在Profinet一侧的参数包括&#xff08;设备名称&#xff0c;IP地址等&#xff09; 先导入GSD文件 选择GSD所在文件夹位置&#…...

从0到1搭建shopee测评自养号系统:独立IP+硬件伪装+养号周期管理​

在跨境电商竞争白热化的背景下&#xff0c;Shopee卖家通过自养号测评实现流量与销量突破已成为行业共识。自养号测评通过模拟真实买家行为&#xff0c;为店铺注入精准流量&#xff0c;同时规避外包测评的高风险与不可控性。本文将从技术架构、运营策略、风险控制三个维度&#…...

arrow-0.1.0.jar 使用教程 - Java jar包运行方法 命令行启动步骤 常见问题解决

准备工作 首先确保你电脑上装了Java环境&#xff08;JDK 8或以上版本&#xff09; 把这个jar文件下载到你的电脑上&#xff0c;arrow-0.1.0.jar下载链接&#xff1a;https://pan.quark.cn/s/66d7c061c95a 运行方法 打开命令行&#xff08;Windows按WinR输入cmd&#xff0c;M…...

请问交换机和路由器的区别?vlan 和 VPN 是什么?

交换机和路由器的区别 特性交换机&#xff08;Switch&#xff09;路由器&#xff08;Router&#xff09;工作层级数据链路层&#xff08;L2&#xff0c;基于MAC地址&#xff09;网络层&#xff08;L3&#xff0c;基于IP地址&#xff09;主要功能在局域网&#xff08;LAN&#…...

如何查看与设置电脑静态IP地址:完整指南

在当今数字化时代&#xff0c;稳定的网络连接已成为工作生活的必需品。静态IP地址作为网络配置中的重要一环&#xff0c;相比动态IP具有更高的稳定性和可控性&#xff0c;然而&#xff0c;许多用户对如何查看和设置静态IP地址仍感到困惑。本文将为您提供从基础概念到实操步骤的…...

Linux网络基础全面解析:从协议分层到局域网通信原理

Linux系列 文章目录 Linux系列前言一、计算机网络背景1.1 认识网络1.2 认识协议 二、网络协议初识2.1 协议分层2.2 OSI七层模型2.3 TCP/IP协议栈2.4 网络协议栈与OS的关系2.5 网络协议在网络传输时的作用 三、网络通信局域网通信的安全隐患与应对总结 前言 Linux系统部分的学习…...

第二篇:服务与需求——让用户找到并预订服务

目录 1 服务类目与项目管理&#xff1a;飞书多维表格为管理中心&#xff0c;微搭小程序展示1.1 需求分析1.2 数据模型&#xff1a;微搭中的服务分类与服务项目&#xff08;用于小程序展示&#xff09;1.3 数据模型&#xff1a;多维表格中的服务分类与服务项目 总结 我们已经用了…...

【AI News | 20250520】每日AI进展

AI Repos 1、nanoDeepResearch nanoDeepResearch 是一个受 ByteDance 的 DeerFlow 项目启发&#xff0c;旨在从零开始构建深度研究代理的后端项目。它不依赖 LangGraph 等现有框架&#xff0c;通过实现一个 ReAct 代理和状态机来模拟 Deep Research 的工作流程。项目主要包含规…...

Spark Core基础与源码剖析全景手册

Spark Core基础与源码剖析全景手册 Spark作为大数据领域的明星计算引擎&#xff0c;其核心原理、源码实现与调优方法一直是面试和实战中的高频考点。本文将系统梳理Spark Core与Hadoop生态的关系、经典案例、聚合与分区优化、算子底层原理、集群架构和源码剖析&#xff0c;结合…...

抖音视频如何下载保存?高清无水印一键保存到手机!

你是不是经常在抖音上刷到超有趣的短视频&#xff0c;想保存下来却不知道怎么做&#xff1f;或者下载后发现带有烦人的水印&#xff1f;别担心&#xff01;今天教你最简单、最快速的抖音视频下载方法&#xff0c;无水印、高清画质&#xff0c;轻松搞定&#xff01; 为什么要下…...

SCAU--平衡树

3 平衡树 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: G;GCC;VC;JAVA;PYTHON 描述 平衡树并不是平衡二叉排序树。 这里的平衡指的是左右子树的权值和差距尽可能的小。 给出n个结点二叉树的中序序列w[1],w[2],…,w[n]&#xff0c;请构造平衡树&#xff0c…...

图的几种存储方法比较:二维矩阵、邻接表与链式前向星

图是一种非常重要的非线性数据结构&#xff0c;广泛应用于社交网络、路径规划、网络拓扑等领域。在计算机中表示和存储图结构有多种方法&#xff0c;本文将详细分析三种常见的存储方式&#xff1a;二维矩阵&#xff08;邻接矩阵&#xff09;、邻接表和链式前向星&#xff0c;比…...

【AS32X601驱动系列教程】MCU启动详解

在嵌入式开发领域&#xff0c;掌握MCU&#xff08;微控制单元&#xff09;的启动流程是工程师们迈向深入开发的关键一步。本文将带您深入了解MCU启动的奥秘&#xff0c;从编译过程到启动文件&#xff0c;再到链接脚本和系统时钟配置&#xff0c;全方位解析MCU启动流程。 在实际…...

计算机视觉与深度学习 | Matlab实现EMD-GWO-SVR、EMD-SVR、GWO-SVR、SVR时间序列预测(完整源码和数据)

以下是一个完整的Matlab时间序列预测实现方案,包含EMD-GWO-SVR、EMD-SVR、GWO-SVR和SVR四种方法的对比。代码包含数据生成、信号分解、优化算法和预测模型实现。 %% 主程序:时间序列预测对比实验 clc; clear; clearvars; close all;% 生成模拟时间序列数据 rng(1); % 固定随…...

Visual Studio 2022 插件推荐

Visual Studio 2022 插件推荐 Visual Studio 2022 (简称 VS2022) 是一款强大的 IDE&#xff0c;适合各类系统组件、框架和应用的开发。插件是接入 VS2022 最重要的扩展方式之一&#xff0c;它们可以大幅提升开发效率、优化代码质量&#xff0c;并提供强大的调试和分析功能。 …...

[luogu12541] [APIO2025] Hack! - 交互 - 构造 - 数论 - BSGS

传送门&#xff1a;https://www.luogu.com.cn/problem/P12541 题目大意&#xff1a;有一个数 n n n&#xff0c;你不知道是多少&#xff1b;你每次可以向交互库询问一个正整数集合 A A A&#xff08;其中元素互不相同&#xff09;&#xff0c;交互库返回&#xff1a;将集合中…...

openjdk底层(hotspot)汇编指令调用(五)——内存访问

根据前面关于aarch64架构下的编码解释可知&#xff0c;在src\hotspot\cpu\架构文件夹下&#xff0c; assembler_xx.hpp assembler_xx.cpp register_xx.hpp register_xx.cpp register_definitions_xx.cpp这些文件是有关寄存器定义以及汇编编码函数实现的文件。 对于前述的ope…...

几款常用的虚拟串口模拟器

几款常用的虚拟串口模拟器&#xff08;Virtual Serial Port Emulator&#xff09;&#xff0c;适用于 Windows 系统&#xff0c;可用于开发和调试串口通信应用&#xff1a; 1. com0com (开源免费) 特点&#xff1a; 完全开源免费&#xff0c;无功能限制。 可创建多个虚拟串口…...

ChimeraX介绍

UCSF ChimeraX 是一款由美国加州大学旧金山分校(UCSF)开发的下一代分子可视化软件,是经典的 UCSF Chimera 的继任者。它集成了强大的分子结构可视化、分析、建模和动画功能,广泛应用于结构生物学、药物设计、分子建模等领域。 1. 下载安装: Download UCSF ChimeraX 2. …...

【Linux】初见,基础指令

前言 本文将讲解Linux中最基础的东西-----指令&#xff0c;带大家了解一下Linux中有哪些基础指令&#xff0c;分别有什么作用。 本文中的指令和选项并不全&#xff0c;只介绍较为常用的 pwd指令 语法&#xff1a;pwd 功能&#xff1a;显示当前所在位置&#xff08;路径&#xf…...

链表的面试题8之环形链表

许久不见&#xff0c;那么这是最后倒数第三题了&#xff0c;这道题我们来看一下环形链表。 老规矩贴链接&#xff1a;141. 环形链表 - 力扣&#xff08;LeetCode&#xff09; 目录 倒数第k个元素 获取中间元素的问题。 双指针 来&#xff0c;大致看一下题目&#xff0c;这…...

OBS Studio:windows免费开源的直播与录屏软件

OBS Studio是一款免费、开源且跨平台的直播与录屏软件。其支持 Windows、macOS 和 Linux。OBS适用于&#xff0c;有直播需求的人群或录屏需求的人群。 Stars 数64,323Forks 数8413 主要特点 推流&#xff1a;OBS Studio 支持将视频实时推流至多个平台&#xff0c;如 YouTube、…...

邂逅Node.js

首先先要来学习一下nodejs的基础&#xff08;和后端开发有联系的&#xff09; 再然后的学习路线是学习npm&#xff0c;yarn&#xff0c;cnpm&#xff0c;npx&#xff0c;pnpm等包管理工具 然后进行模块化的使用&#xff0c;再去学习webpack和git&#xff08;版本控制工具&…...

React 常见的陷阱之(如异步访问事件对象)

文章目录 前言1. 异步访问事件对象问题解决方案 2. 事件传播的误解**问题**解决方案 **3. 事件监听器未正确卸载****问题****解决方案** **4. 动态列表中的事件绑定****问题****解决方案** **5. 第三方库与 React 事件冲突****问题****解决方案** **6. 表单输入与受控组件****问…...

【LinkedList demo 内部类讲说】

LinkedList demo 内部类讲说 1. Node节点2.MyLinkedList3. LinkedListTest 测试类 1. Node节点 public class Node<T> {private Node<T> pre;private Node<T> next;private T data;public Node() {}public Node getPre() {return pre;}public void setPre(N…...

Sql刷题日志(day9)

一、笔试 1、limit offset&#xff1a;分页查询 SELECT column1, column2, ... FROM table_name LIMIT number_of_rows OFFSET start_row; --跳过前 start_row 行&#xff0c;返回接下来的 number_of_rows 行。 2、lag、lead&#xff1a;查询前后行数据 --lag函数用于访问当…...

46 python pandas

Pandas是Python数据分析的利器,也是各种数据建模的标准工具 一、什么是pandas pandas 是 Python 中用于数据处理和分析的核心库,提供了高效的数据结构(如Series和DataFrame)和数据操作工具,广泛应用于数据清洗、分析、可视化等场景。 最常用的是用来处理excel数据。 二…...

告别延迟!Ethernetip转modbustcp网关在熔炼车间监控的极速时代

熔炼车间热火朝天&#xff0c;巨大的热风炉发出隆隆的轰鸣声&#xff0c;我作为一名技术操控工&#xff0c;正密切关注着监控系统上跳动的各项参数。这套基于EtherNET/ip的监控系统&#xff0c;是我们车间数字化改造的核心&#xff0c;它将原本分散的控制单元整合在一起&#x…...

Prompt Tuning:高效微调大模型的新利器

Prompt Tuning(提示调优)是什么 Prompt Tuning(提示调优) 是大模型参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)的重要技术之一,其核心思想是通过优化 连续的提示向量(而非整个模型参数)来适配特定任务。以下是关于 Prompt Tuning 的详细解析: 一、核心概念…...

⼆叉搜索树详解

1. ⼆叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树&#xff0c;它或者是⼀棵空树&#xff0c;或者是具有以下性质的⼆叉树: • 若它的左⼦树不为空&#xff0c;则左⼦树上所有结点的值都⼩于等于根结点的值 • 若它的右⼦树不为空&#xff0c;则右⼦树上所有结点的值都⼤于等于根结…...

CompleteableFuture的异步任务编排

为什么会有CompleteableFuture Java 的 1.5 版本引入了 Future&#xff0c;可以把它简单的理解为运算结果的占位符&#xff0c; 它提供了两个方法来获取运算结果。 get()&#xff1a;调用该方法线程将会无限期等待运算结果。get(longmeout, TimeUnit unit)&#xff1a;调用该…...

珈和科技贺李德仁院士荣膺国际数字地球学会会士:以时空智能赋能可持续发展目标 绘就数字地球未来蓝图

4月22日&#xff0c;第十四届国际数字地球会议在重庆盛大启幕。在这场在全球范围内数字地球领域具有国际影响力的学术盛会上&#xff0c;国际数字地球学会向珈和科技的企业顾问&#xff0c;2023年度国家最高科学技术奖得主李德仁院士授予了“国际数字地球学会会士”最高荣誉称号…...

【CodeBuddy 】从0到1,打造一个“牛马打鸡血仪”

【CodeBuddy 】从0到1&#xff0c;打造一个“牛马打鸡血仪” 我正在参加CodeBuddy「首席试玩官」内容创作大赛&#xff0c;本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 &#x1f31f;嗨&#xff0c;我是LucianaiB&#…...

BI是什么意思?一文讲清BI的概念与应用!

目录 一、BI 是什么意思 1. BI 的定义 2. BI 的发展历程 3. BI 的核心组件 二、BI 的应用场景 1. 销售与市场营销 2. 财务管理 ​编辑3. 人力资源管理 4. 生产与运营管理 ​编辑三、选择合适的 BI 工具 1. 考虑企业的需求和规模 2. 评估工具的功能和性能 3. 关注工…...