第10章:常见问题与避坑指南

发布时间:2026/9/24 17:46:43

第10章:常见问题与避坑指南 第10章常见问题与避坑指南本章目标汇总 Git / TortoiseGit 使用中最高频的 30 个问题症状 → 原因 → 解决。建议遇到问题时用CtrlF搜索报错关键字。1. 中文乱码问题1.1 git log / git status 中文显示为八进制\344\275\240原因Git 默认对非 ASCII 字符做转义。解决gitconfig--globalcore.quotepathfalse1.2 git log 提交信息中文乱码gitconfig--globali18n.commitEncoding utf-8gitconfig--globali18n.logOutputEncoding utf-8# 如果是在 Windows 控制台GBK 环境看日志乱码可临时git-ci18n.logOutputEncodinggbk log1.3 TortoiseGit 日志窗口乱码设置 → 常规 → 字体编码相关选项选择 UTF-8 或跟随系统确保系统区域设置不是奇怪的兼容模式2. 换行符问题CRLF/LF2.1 症状每次操作都提示LF will be replaced by CRLF多人协作时整个文件被标记为全部修改其实只差换行符2.2 解决# Windows 推荐配置检出转 CRLF提交转 LFgitconfig--globalcore.autocrlftrue# 或者统一仓库内始终使用 LF跨平台项目推荐配合 .gitattributesgitconfig--globalcore.autocrlf input# 项目级保险.gitattributesecho* textauto.gitattributes[!tip] 已经乱了的文件怎么修gitrm--cached-r.gitreset--hard重新规范化换行符注意reset --hard会丢弃未提交的改动执行前先提交或备份团队协作时需统一操作。3. 认证与网络问题3.1 push 提示 Permission denied (publickey)排查顺序# 1. 确认密钥存在ls~/.ssh# 2. 测试连接分别测两个平台ssh-Tgitgitee.comssh-Tgitgithub.com# 3. 看使用了哪把密钥-v 详细输出ssh-vTgitgithub.com常见原因公钥没粘贴到平台 / 粘贴时丢字符密钥文件权限问题Linux 上常见TortoiseGit 的 SSH 客户端设置与密钥体系不匹配见 第6章TortoiseGit安装与配置#2.6 关键选项SSH 客户端的选择公司网络封 22 端口 → 用 443 端口方案3.2 GitHub 提示 Support for password authentication was removed解决HTTPS 方式必须用Personal Access Token见 第9章提交项目到GitHub#4.2 HTTPS Token 方式不用 SSH 时或改配 SSH。3.3 换账号后仍然推送失败 / 总是旧账号原因Windows 凭据管理器缓存了旧凭据。解决控制面板 → 用户账户 → 凭据管理器 →Windows 凭据找到git:https://github.com或 gitee条目 →删除重新推送输入新账号TortoiseGit 用户也可在设置 → 已保存的凭据 → 清除。3.4 GitHub 推送超时 / 连不上# 给 GitHub 配置代理端口换成你自己代理软件的gitconfig--globalhttp.https://github.com.proxy http://127.0.0.1:7890# 取消gitconfig--global--unsethttp.https://github.com.proxy验证代理是否生效git config --list | findstr proxy4. 推送与拉取问题4.1 推送被拒绝! [rejected] … (non-fast-forward)原因远程有你本地没有的提交通常是别人推了或你在网页上改过。解决# 方案一拉取并变基历史干净推荐gitpull--rebaseorigin maingitpush# 方案二拉取并合并gitpull origin main# 解决可能的冲突后gitpush# 方案三确认远程内容不重要时才用强制推送gitpush --force-with-lease[!warning] 不要无脑 force-f会覆盖别人的提交。确认远程多出来的提交真的可以丢弃时再用。4.2 refusing to merge unrelated histories原因两边历史没有共同祖先典型场景远程建库时勾选了 README本地又git init自己提交。解决gitpull origin main --allow-unrelated-histories# 如有冲突解决后gitpush-uorigin main预防建远程仓库时选不初始化推荐见第8、9章。4.3 git pull 时工作区有改动报错 “Your local changes would be overwritten”解决三选一# 1. 先提交gitadd.gitcommit-m保存当前进度# 2. 先暂存现场拉完再恢复gitstashgitpullgitstash pop# 3. 确认不要了就丢弃危险gitrestore.4.4 src refspec main does not match any原因本地根本没有main分支一次都没提交过或分支名是 master。解决gitadd.gitcommit-mfirst commit# 先制造提交gitbranch-Mmain# 确保分支名gitpush-uorigin main5. 提交与撤销问题5.1 提交信息写错了怎么办# 还没推送gitcommit--amend-m正确的信息# 已推送谨慎团队协作时先沟通gitcommit--amend-m正确信息gitpush --force-with-lease5.2 提交里漏了文件 / 多提交了文件# 漏了加入后 amendgitadd漏掉的文件gitcommit--amend--no-edit# 多了从提交中移除但不删本地文件gitrm--cached多提交的文件gitcommit--amend--no-edit5.3 想撤销最近一次提交场景命令提交没推送想彻底撤销但保留改动git reset --soft HEAD~1提交没推送改动也想重来git reset --mixed HEAD~1默认提交没推送改动也不要了git reset --hard HEAD~1危险提交已推送要安全撤销git revert hash然后 push5.4 误删文件/误 reset如何找回核心工具git refloggitreflog# 找到误操作之前的那条记录如 abc1234 HEAD{3}: commit: xxx# 方式一直接重置回去gitreset--hardabc1234# 方式二先用分支接住确认没问题再处理gitbranch rescue abc1234gitswitch rescue[!tip] 什么能救、什么不能救曾经 commit 过的内容基本都能通过 reflog 找回默认保留 90 天从未被 Git 跟踪过的内容被git clean或手动删除后救不回来只能靠编辑器/系统备份5.5 撤销单个文件的修改gitrestore 文件# 丢弃工作区修改不可恢复gitrestore--staged文件# 仅从暂存区撤出保留修改TortoiseGit右键文件 → 还原Revert/ 在提交窗口取消勾选。5.6 git reset 之后发现搞错了马上git reflog找到 reset 之前的 HEAD 位置再git reset --hard回去。6. .gitignore 相关问题6.1 .gitignore 写了但不起作用原因文件已被跟踪曾经提交过忽略规则不生效。解决gitrm-r--cached.gitadd.gitcommit-mchore: 应用 .gitignoreTortoiseGit右键文件 →Unversion and add to ignore list。6.2 想忽略已提交的文件但保留本地文件gitrm--cached文件echo文件.gitignoregitcommit-mchore: 停止跟踪文件6.3 空文件夹无法提交Git 只跟踪文件不跟踪空文件夹。需要提交空目录时在其中放一个占位文件touch空目录/.gitkeep7. 大文件与仓库体积7.1 推送提示文件超过 100MBGitee/GitHub 单文件上限 100MB解决不提交大文件加进 .gitignore把文件放网盘使用Git LFSgitlfsinstallgitlfs track*.psdgitadd.gitattributesgitadd.gitcommit-mchore: 使用 LFS 管理大文件7.2 已误提交大文件普通删除后仓库还是很大大文件留在历史里git rm只删最新版本。彻底清理需要重写历史较复杂且修改共享历史有风险# 使用 git filter-repo需单独安装或 BFG 工具# 单人仓库也可用gitfilter-branch --tree-filterrm -f 大文件HEAD[!warning] 提示改写历史后必须强推且所有协作者都要重新克隆。个人项目清理前也建议先完整备份一份。8. TortoiseGit 特有问题问题解决右键没有菜单重装勾选 Shell 扩展重启资源管理器任务管理器 → 重启Windows 资源管理器图标不显示/显示错乱图标覆盖数量超限设置 → 图标覆盖 → 调整优先级/排除或卸载冲突软件提示找不到 git.exe设置 → Git → 重新指定C:\Program Files\Git\binSSH 总是认证失败检查 SSH 客户端选择ssh.exe vs TortoiseGitPlink与密钥体系是否匹配提交对话框看不到目标文件检查文件是否被忽略、是否在正确目录每次都要输密码用 Pageant 加载密钥SSH或让凭据管理器保存HTTPS合并工具打不开设置 → 合并工具 → 重新指定 TortoiseGitMerge 路径显示日志很慢大仓库正常可在日志窗口缩小范围只显示当前路径、限制分支9. 操作前保命三原则[!warning] 危险操作黑名单执行前三思git reset --hard丢弃未提交修改git clean -fdx删除未跟踪被忽略的文件不进回收站git push --force覆盖远程历史git rebase公共分支改写别人也在用的历史TortoiseGit 的「Clean up」「Revert」无确认的本地删除保命习惯危险操作前先git status 提交一次或git stash重要项目多远程备份Gitee GitHub见 第9章提交项目到GitHub#7. 一个项目同时推送到 Gitee 和 GitHub进阶拿不准就先别敲回车先搜索报错原文10. 问题速查总表症状关键词对应小节中文乱码、\3441CRLF、LF、换行符2Permission denied、publickey3.1password authentication、Token3.2旧账号、凭据缓存3.3推送超时、代理3.4non-fast-forward、rejected4.1unrelated histories4.2would be overwritten4.3refspec does not match4.4提交信息写错、漏文件5.1撤销提交、reset5.3找回、reflog、误删5.4.gitignore 不生效6.1空文件夹6.3100MB、大文件、LFS7TortoiseGit 菜单/图标/SSH811. 本章小结90% 的事故都能用三招解决看 status、查 reflog、用 stash认证问题分清 HTTPSToken/凭据管理器与 SSH密钥/客户端选择两条线排查推送被拒先 pull 再 push永不无脑强推公共分支.gitignore 不生效 文件已被跟踪先rm --cached危险操作前三思reset --hard、clean -fdx、push -f、rebase 公共分支
延伸阅读

更多相关文章

2026/9/24 17:41:42

14-02-对比-CSharp-dotNET-vs-Java-JVM数据结构对比

C#/.NET 与 Java/JVM 数据结构对比:从契约、布局到运行时比较基线:以 .NET 8 BCL/CoreCLR 与 Java 21 标准集合/HotSpot 为主要语义参照;不同 JVM、GC、AOT 与第三方集合库不在统一结论中 比较原则:语言语法、标准库公开契约、固定…

2026/9/24 17:41:42

Java集合分类

一. Java 集合:Collection 单列集合与 Map 双列集合 1. Collection 单列集合每次存储单个元素,只有值,没有对应的键。 例子:脉劫、康帅傅、粤利粤,每个元素独立存在。子接口: List:有序、可重复、有索引。代…

2026/9/24 17:41:42

ROS2 实战 | 手写 TF2 海龟实时坐标广播器(含完整避坑指南)

ROS2 实战 | 手写 TF2 海龟实时坐标广播器(含完整避坑指南) 摘要:本文从零实现一个 ROS2 Python 节点,实时订阅 turtlesim 海龟位姿并广播 TF 坐标变换。重点修正了官方教程中常见的 Odometry/Pose 混用、__name__ 入口错误、--symlink-install 开发技巧等高频踩坑点,附完…

2026/9/25 0:02:35

深度学习新闻分类推荐系统:从TextCNN到个性化推荐

简介:这份基于深度学习的新闻分类推荐系统Python实现源码,是专为课程设计与期末大作业准备的高分项目,下载后无需修改即可运行,适用于需要快速交付完整课题的高校学生。系统涵盖新闻数据预处理、文本分类模型训练、推荐逻辑展示等…

2026/9/25 0:02:35

汽车电子底层软件开发:AUTOSAR与CAN总线实战解析

1. 这门“汽车电子底层软件开发就业课”到底在教什么?——不是写个LED闪烁就能上岗的很多人看到“汽车电子底层软件开发就业课”这个标题,第一反应是:不就是嵌入式C语言单片机CAN通信?刷几道LeetCode、调通一个STM32 CAN收发例程&…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/24 23:57:34

Java Web代驾系统源码设计与实践:从订单闭环到并发计费

代驾系统源码这五个字,在各大代码仓库和资源站上一搜能出来几百个结果,但真正把订单从呼叫跑到支付闭环的项目屈指可数。我自己这两年用Java Web技术栈做过、也帮人改过几版代驾管理系统,最深的感受是:代驾系统这个题目&#xff0…

2026/9/24 20:24:47

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/22 16:34:32

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

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

2026/9/22 20:01:30

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

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

2026/9/22 13:25:41

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

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

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码