git2.53.0安装步骤

⭐ 一、安装(核心选项直接抄)

安装界面选择建议核心原因
组件选择✅ 保留默认勾选,取消 Check daily for updates自动更新没必要,核心功能够用
默认编辑器✅ 选 Use Visual Studio Code as Git's default editor避免 Vim 学习成本,和开发工具统一
初始分支名✅ 选 Override,分支名填 main适配 GitHub/Gitee 主流规范
PATH 配置✅ 选 Git from the command line and also from 3rd-party software多终端可用(Git Bash/CMD/VSCode)
SSH 客户端✅ 选 Use bundled OpenSSH自带工具兼容性更好,无需额外安装
HTTPS 后端✅ 选 Use the native Windows Secure Channel library系统原生适配,无需手动管理证书
换行符处理✅ 选 Checkout Windows-style, commit Unix-style跨平台协作不冲突
终端模拟器✅ 选 Use MinTTY界面更友好,支持窗口缩放
git pull 行为✅ 选 Fast-forward or merge保留提交历史,适合个人/团队开发
凭证管理器✅ 选 Git Credential Manager自动保存账号密码,免重复输入
额外选项✅ 保留 Enable file system caching,取消 Enable symbolic links提升性能,Windows 下符号链接兼容性差

⭐ 二、安装后配置

打开 Git Bash,逐行执行

# 配置用户名,替换为你的GitHub用户名(如zhangsan123) git config --global user.name "YourGitHubName" # 配置邮箱,替换为你的GitHub注册邮箱(如[email protected]) git config --global user.email "[email protected]"

参数说明--global表示全局配置,即所有本地Git仓库都会使用该信息,无需重复配置。

git config --list 

若输出结果中能看到刚才配置的user.nameuser.email,则说明本地信息配置成功!

生成SSH密钥

ssh-keygen -t rsa -C "[email protected]" 

执行后会依次出现3个提示,全部直接回车即可,无需输入任何内容:

  1. 提示「保存密钥的路径」:默认保存在用户目录的.ssh文件夹,回车;
  2. 提示「设置密码」:回车表示不设置密码(完全免密);
  3. 提示「确认密码」:再次回车即可。

获取并复制公钥内容:在Git Bash中,依次输入以下两条指令,回车执行,提取公钥内容

# 进入.ssh文件夹 cd ~/.ssh # 查看并输出公钥文件内容 cat id_rsa.pub

执行后,Git Bash会输出一长串以ssh-rsa开头、以你的GitHub邮箱结尾的字符,这就是完整的公钥内容,需要完整复制(小技巧:鼠标选中全部字符,右键选择「Copy」即可,不要手动输入,避免漏字符)。

核心坑点:复制时必须包含开头的ssh-rsa和结尾的邮箱,不能多复制空格/换行,也不能遗漏任何字符!

GitHub账号添加公钥

点击页面右上角的个人头像,在下拉菜单中选择「Settings」(设置);

在左侧菜单栏中,找到并点击「SSH and GPG keys」(SSH和GPG密钥);

点击页面右上角的「New SSH key」(新建SSH密钥);

进入添加页面,填写两个信息:

  • Title:自定义名称,用于区分设备(如「办公电脑Win11」「笔记本」,方便后续管理);
  • Key:点击输入框,右键粘贴刚才复制的完整公钥内容(不要手动修改);

点击页面下方的「Add SSH key」(添加SSH密钥),若GitHub要求验证账号密码,输入你的GitHub密码即可完成添加。

验证SSH配置是否成功

回到Git Bash窗口,输入以下验证指令,回车执行:

ssh -T [email protected] 

执行后若出现确认提示(如「Are you sure you want to continue connecting (yes/no/[fingerprint])?」),输入yes并回车即可。

成功标志:Git Bash输出以下内容,说明SSH免密配置成功!

Hi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access. 

Read more

纯C++手撸PP-OCRv5文字识别!不依赖OpenCV,从零到跑通全流程

纯C++手撸PP-OCRv5文字识别!不依赖OpenCV,从零到跑通全流程

纯C++手撸PaddleOCR PP-OCRv5文字识别!不依赖OpenCV,从零到跑通全流程 你是不是也遇到过这种情况:想在C++项目里加个OCR功能,结果光装OpenCV就折腾半天?今天教你零OpenCV依赖,用Paddle Inference + stb_image,纯C++实现PP-OCRv5文字识别全流程(检测+识别),代码可直接跑! 一、效果先行 cd /home/michah/桌面/paddle_inference && ./build/ocr_demo build/640.png --text-only cd /home/michah/桌面/paddle_inference && ./build/ocr_demo build/640.png

By Ne0inhk
【C++】string类

【C++】string类

C++ string 类全面解析 1. 为什么学习 string 类? 1.1 C语言中的字符串局限性 在C语言中,字符串是以\0结尾的字符数组,这种表示方式存在几个明显的缺陷: C语言字符串的主要问题: * 安全性问题:容易发生缓冲区溢出,导致程序崩溃或安全漏洞 * 内存管理复杂:需要手动管理内存分配和释放,容易造成内存泄漏 * 功能有限:标准库函数功能相对基础,复杂的字符串操作需要自行实现 * 不符合面向对象思想:数据与操作分离,不符合现代编程范式 // C语言字符串操作的典型问题char str[10];strcpy(str,"这个字符串太长了会导致溢出");// 潜在的安全风险 1.2 实际应用需求 在现代编程中,字符串处理占据了极大的比重。无论是Web开发、数据处理还是系统编程,都离不开高效的字符串操作。string类的出现正是为了解决C语言字符串的种种痛点。 面试题示例(后续详解): * 字符串转整型数字 * 大数相加(字符串形式)

By Ne0inhk
【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!

【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!

🔥 本文专栏:Linux网络Linux实践系列 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录:别害怕选错,人生最遗憾的从不是‘选错了’,而是‘我本可以’。每一次推倒重来的勇气,都是在给灵魂贴上更坚韧的勋章。 ★★★ 本文前置知识: 序列化与反序列化 引入 在之前的博客中,我详细介绍了序列化 与反序列化 的概念。对于使用 TCP 协议进行通信的双方,由于 TCP 是面向字节流的,在发送数据之前,我们通常需要定义一种结构化的数据来描述传输内容,并以此作为数据的容器。在 C++ 中,这种结构化数据通常表现为对象或结构体。然而,我们不能直接将结构体内存中对应的字节原样发送到另一端,因为直接传递内存字节会引发字节序 和结构体内存对齐 的问题。不同平台、不同编译器所遵循的内存对齐规则可能不同,这可能导致接收方在解析结构体字段时出现错误。 因此,我们需要借助序列化 。序列化 是指将结构化的数据按照预定的规则转换为连续的字节流。其主要目的是屏蔽平台差异,使得位于不同平台的进程能够以统一的方式解析该字节流。序列化通常分为两种形式:文本序列化 与二进制序列化 。 文

By Ne0inhk