当前位置:

首页 > 编程开发 > Git之常用命令与避坑指南分享

Git之常用命令与避坑指南分享

一、Git 基础配置 在用Git之前,有两件事最好先搞定,否则后续操作会处处碰壁。 # 设置全局用户信息(必填,否则无法提交) git config --global user.name "你的用户名" git config --global user.email "你的邮箱@example.com

本文目录

    一、Git 基础配置

    在用Git之前,有两件事最好先搞定,否则后续操作会处处碰壁。

    # 设置全局用户信息(必填,否则无法提交)
    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱@example.com"
    
    # 设置默认分支名(可选)
    git config --global init.defaultBranch main
    
    # 查看配置
    git config --list
    

    这段配置看起来简单,但却是版本控制的基石。没有它,每次提交都会报错提示缺少用户信息,到时候还得回头补上,不如一开始就配好。

    二、Git 常用命令速查表

    日常开发中,Git命令最常用的场景无非那么几个。下面这张表基本覆盖了从初始化到协作的完整流程,关键时刻翻一翻就能解决问题。

    场景命令
    初始化仓库git init
    克隆远程仓库git clone
    查看状态git status
    添加文件到暂存区git add / git add .
    提交代码git commit -m "提交信息"
    推送到远程git push origin
    拉取远程更新git pull origin
    查看提交日志git log --oneline
    创建分支git branch
    切换分支git checkout / git switch
    合并分支git merge
    暂存工作区git stash
    恢复暂存git stash pop

    三、GitHub / Gitee 上传避坑指南

    上传代码到远程仓库,看起来简单,但新手(甚至老手)经常踩坑。下面这7个场景,几乎是每个开发者都会遇到的,提前了解能省很多时间。

    坑 1:远程仓库已有内容,本地推不上去

    问题:git push 被拒绝,提示 failed to push some refs

    Git之常用命令与避坑指南分享

    原因:远程仓库初始化时创建了 README/LICENSE 等文件,本地没有这些文件

    解决:

    # 方法一:先拉取合并(推荐)
    git pull origin main --allow-unrelated-histories
    git push origin main
    
    # 方法二:强制推送(⚠️ 会覆盖远程)
    git push -u origin main -f
    

    方法一更安全,能保留远程已有的文件。方法二虽然简单粗暴,但会覆盖远程内容,慎用。

    坑 2:push 时提示输入用户名密码

    问题:每次 push 都要输入账号密码

    解决:配置凭据缓存

    # 缓存 15 分钟
    git config --global credential.helper cache
    
    # 永久存储(Windows)
    git config --global credential.helper store
    

    频繁输入密码确实烦人,配置了缓存后,体验会好很多。不过永久存储要谨慎,尤其是公用电脑。

    坑 3:SSH 推送报错 Permission denied

    问题:使用 SSH 方式推送报权限错误

    解决:

    # 1. 生成 SSH 密钥
    ssh-keygen -t ed25519 -C "你的邮箱@example.com"
    
    # 2. 查看公钥
    cat ~/.ssh/id_ed25519.pub
    
    # 3. 将公钥添加到 GitHub/Gitee 的 SSH Keys 设置中
    
    # 4. 测试连接
    # GitHub
    ssh -T git@github.com
    # Gitee
    ssh -T git@gitee.com
    

    SSH 方式比 HTTPS 更安全,配置一次后就不用再输密码了。如果测试连接时提示“Permission denied”,多半是公钥没添对,或者密钥文件路径不对。

    坑 4:文件过大无法推送

    问题:

    remote: error: File xxx is 100.00 MB; this exceeds the file size limit

    解决:

    # 安装 Git LFS
    git lfs install
    
    # 追踪大文件
    git lfs track "*.psd"
    git lfs track "*.zip"
    
    # 然后正常 add/commit/push
    

    Git 默认不支持大文件,超过 100MB 就会报错。Git LFS 是官方解决方案,专门用来管理大文件,推荐在项目初期就配置好。

    坑 5:误提交了敏感信息

    问题:密码、密钥等被提交到仓库

    紧急处理:

    # 1. 立即修改泄露的密码/密钥!
    
    # 2. 从 Git 历史中移除文件
    git filter-branch --force --index-filter 
      "git rm --cached --ignore-unmatch 敏感文件路径" 
      --prune-empty --tag-name-filter cat -- --all
    
    # 3. 推送清理后的历史
    git push origin main --force --all
    
    # 4. 添加 .gitignore 防止再次提交
    echo "敏感文件名" >> .gitignore
    

    这种事一旦发生,第一件事是立即修改密码或密钥,而不是清理 Git 历史。因为历史记录一旦被公开,即使删除了,攻击者也可能已经下载了。清理历史只是事后补救,防止后续被更多人看到。

    坑 6:push 时提示 detached HEAD

    问题:不在任何分支上,无法 push

    解决:

    # 切换回主分支
    git checkout main
    # 或创建新分支保存当前修改
    git checkout -b new-branch
    

    这个状态通常是因为 checkout 到了某个特定的提交哈希,而不是分支名。解决方法很简单,要么切回分支,要么创建一个新分支来保存当前工作。

    坑 7:GitHub 访问慢 / 连不上

    解决:

    # 使用 GitHub 镜像加速(临时)
    git config --global url."https://ghproxy.com/https://github.com/".insteadOf "https://github.com/"
    
    # 或修改 hosts 文件绑定 IP
    
    # Gitee 一般无需加速
    

    GitHub 的访问稳定性在国内确实是个问题,尤其是大文件下载或大量请求时。镜像加速是个临时方案,长远来看,可以考虑使用 Gitee 或自建 Git 服务器。

    四、推荐工作流

    一个标准的工作流应该是什么样的?下面这个流程适合大多数团队和个人项目,能最大程度减少冲突和混乱。

    # 1. 克隆远程仓库
    git clone git@github.com:用户名/仓库名.git
    
    # 2. 创建功能分支
    git checkout -b feature/my-new-feature
    
    # 3. 开发并提交
    git add .
    git commit -m "feat: 添加新功能描述"
    
    # 4. 推送分支到远程
    git push -u origin feature/my-new-feature
    
    # 5. 在 GitHub/Gitee 上创建 Pull Request / Merge Request
    

    这个流程的核心是:永远不要在 main 分支上直接开发,始终通过功能分支来管理代码。这样既能保持主分支的整洁,也便于代码审查和回滚。

    五、Git 提交规范(推荐)

    提交信息写得清楚,团队协作才能顺畅。下面这个规范是社区常用的,推荐直接采用。

    feat:     新功能
    fix:      修复 bug
    docs:     文档更新
    style:    代码格式(不影响逻辑)
    refactor: 重构
    test:     测试相关
    chore:    构建/工具变动
    

    示例:

    git commit -m "feat: 添加用户登录功能"
    git commit -m "fix: 修复首页加载超时问题"
    

    格式简单,但效果显著。规范的提交信息能让你在查看历史记录时一目了然,尤其是当项目规模变大后,这种价值会愈发明显。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 避坑指南
    相关文章 更多
    2026年7月4000元档拍照手机怎么选 从入门到旗舰的影像阶梯与避坑指南
    2026年7月4000元档拍照手机怎么选 从入门到旗舰的影像阶梯与避坑指南

    2026年7月,4000元档拍照手机进入拼底、拼算法、拼续航阶段。主摄与长焦双大底是关键,vivoX300s采用1/1.4英寸主摄加1/1.95英寸APO长焦,搭载蓝图影像芯片V3+和7100mAh电池,国补后约4499元,是综合影像体验较完整的机型。选购需关注传感器实际尺寸,避免盲目追首发。

    果蔬清洗机十大品牌实测,2026年选购避坑指南
    果蔬清洗机十大品牌实测,2026年选购避坑指南

    基于权威检测与用户调研,从技术成熟度、净化效率、用户体验、售后等维度评测十大果蔬清洗机品牌。指出羟基水离子技术优势,提醒关注第三方检测报告、材料安全与售后服务,避免选购陷阱。

    2026 新房除甲醛常见误区盘点 6款靠谱除醛产品选购避坑指南
    2026 新房除甲醛常见误区盘点 6款靠谱除醛产品选购避坑指南

    新房除醛存在依赖通风绿植、盲目相信“一次治理”等误区。靠谱产品需具备清晰技术原理、权威检测报告与客观表述。六款测评产品中,纳蕴石和蕴岛无光分解喷雾因无光催化分解技术、资质齐全表现突出,搭配喷雾与炭包并配合通风可有效降低甲醛。

    Java中单引号和双引号的区别是什么?新手必看避坑指南
    Java中单引号和双引号的区别是什么?新手必看避坑指南

    Java中单引号表示字符类型char,只能包含一个字符;双引号表示字符串类型String,可包含零或多个字符。字符可直接转为字符串,字符串需用charAt()获取字符。判断空格时使用单引号包裹空格字符即可。

    2000元档洗衣机避坑指南:认准12kg大容量与直驱电机
    2000元档洗衣机避坑指南:认准12kg大容量与直驱电机

    在洗衣机市场里,2000元这个价位段,其实是个挺有意思的“分水岭”。到了这个预算,意味着你已经不满足于“能把衣服洗个大概”就行,而是开始琢磨:洗得是不是更干净、噪音能不能小点、容量能不能一次搞定全家一周的换洗。对于大多数普通家庭来说,这个档位做决策,最忌讳的就是被那些花里胡哨、一年用不了几次的功能牵

    2026作业辅导学习机避坑指南:对比一圈才懂,全链路 AI 作业辅导闭环真有用
    2026作业辅导学习机避坑指南:对比一圈才懂,全链路 AI 作业辅导闭环真有用

    对比多款学习机后发现,全链路AI作业辅导闭环至关重要,需覆盖作业规划、答疑、批改、错题提升及复习备考,避免单点搜题功能。步步高学习机具备启发式讲解、精准批改及母题溯源体系,能有效解决作业辅导难题。

    保密观APP避坑指南:3个新手容易忽略的学习误区【教程】
    保密观APP避坑指南:3个新手容易忽略的学习误区【教程】

    保密观APP学习考试中,常见三个误区:只刷课不答题导致学时无效;未绑定单位使学分不累计;交卷前未确认全部作答导致成绩作废。避开这些操作习惯错误,可有效提高通过率。

    光环游戏助手云存档避坑指南:数据备份与跨设备恢复【详解】
    光环游戏助手云存档避坑指南:数据备份与跨设备恢复【详解】

    光环助手云存档是游戏数据备份与跨设备恢复的关键途径。上传前须退出游戏、登录账号并确保游戏支持。提供悬浮窗和详情页两种上传方式。恢复时需登录同一账号下载覆盖存档。上传后应验证存档大小及时间以确保有效。

    光环游戏助手安装失败避坑指南:未知来源权限与兼容性解决【详解】
    光环游戏助手安装失败避坑指南:未知来源权限与兼容性解决【详解】

    光环游戏助手安装失败主因:系统权限未开启、安卓14底层拦截及CPU架构不匹配。解决:开启未知来源安装权限,通过官网扫码直装绕过拦截,并选择ARM64-v8a专用包避免闪退。建议确保上述步骤后重试。

    ThinkPHP5升级到ThinkPHP6避坑指南_核心架构变更差异解析
    ThinkPHP5升级到ThinkPHP6避坑指南_核心架构变更差异解析

    从TP5迁移到TP6,你可能正踩在这些“坑”上 如果你正打算把ThinkPHP5的项目升级到ThinkPHP6,先停下来,深呼吸。很多人第一次接触TP6时,都会下意识地执行 composer update,然后发现整个项目直接炸了——这其实是意料之中的事。TP6不是TP5的小修小补,它是完全基于PH

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。