从零到一:本地项目上传Gitee完整指南(新手避坑版)

从零到一:本地项目上传Gitee完整指南(新手避坑版)

从零到一:本地项目上传Gitee完整指南(新手避坑版)

在日常开发或毕业设计中,将本地项目上传到代码托管平台是必备技能。Gitee(码云)作为国内优质的Git托管服务,不仅访问速度快,还支持私有仓库、协作者管理等实用功能,特别适合国内开发者和学生使用。本文将以「ESP32车载声浪模拟控制系统」毕设项目为例,从环境准备到代码推送,一步步教你完成本地项目上传,同时揭秘新手常踩的坑及解决方案。

一、前置知识:核心概念快速理解

在开始操作前,先搞懂3个关键概念,避免后续 confusion:

  • Git:本地代码版本控制工具,负责跟踪文件修改、管理提交记录,是连接本地项目和Gitee的桥梁;
  • Gitee:远程代码托管平台,相当于“云端代码仓库”,用于存储、共享你的项目;
  • 分支(Branch):项目的“并行开发线”,默认主分支为main(新版Git)或master(旧版Git),推送时需保证本地分支与远程分支名称一致。

二、准备工作(3步必做)

2.1 安装Git工具

Git是上传项目的基础工具,支持Windows/macOS/Linux全平台:

  1. 下载地址:Git官方下载(Windows自动识别系统,直接下载64位安装包);
  2. 安装流程:全程点击「Next」默认安装(新手无需修改任何配置),直至「Finish」;
  3. 验证安装:按下Win+R输入cmd,执行命令git --version,若显示git version x.x.x则安装成功。

2.2 注册并登录Gitee账号

  1. 访问Gitee官网:https://gitee.com/
  2. 注册方式:用手机号快速注册,建议绑定邮箱(便于找回账号);
  3. 登录后进入个人主页,后续将在这里创建远程仓库。

2.3 配置Git与Gitee关联

让Git识别你的Gitee身份,避免后续推送权限报错:

  1. 右键桌面空白处,选择「Git Bash Here」打开Git命令窗口;
  2. 验证配置:执行git config --global --list,能看到上述配置信息即生效。

执行以下命令(替换为你的Gitee用户名和注册邮箱):

# 配置用户名(Gitee个人主页显示的昵称)git config --global user.name "你的Gitee用户名"# 配置邮箱(注册Gitee时使用的邮箱)git config --global user.email "你的Gitee注册邮箱"

三、详细上传步骤(6步搞定)

以本地car_sound_simulation_control(ESP32毕设项目)为例,完整上传流程如下:

3.1 步骤1:在Gitee创建远程仓库

  1. 登录Gitee后,点击右上角「+」号 → 选择「新建仓库」;
  2. 点击「创建」,生成远程仓库,页面将显示仓库地址(如https://gitee.com/host_brace/car_sound_simulation_control.git),复制该地址备用。

填写仓库信息(关键配置如下,其余默认):

配置项推荐值注意事项
仓库名称与本地项目文件夹一致(如car_sound_simulation_control)小写+下划线,避免空格、中文、特殊符号
仓库介绍简要描述项目(如“基于ESP32的车载声浪模拟控制系统毕设”)便于后续检索和他人理解
仓库类型私有(毕设项目首选)防止代码被抄袭,后续可按需改为公开
初始化仓库取消勾选「使用README文件初始化仓库」勾选会导致后续推送冲突(新手必避坑)

3.2 步骤2:本地项目准备(过滤无用文件)

本地项目中通常包含编译产物、临时文件等无用内容,需通过.gitignore文件过滤,避免占用仓库空间:

  1. 进入本地项目文件夹(如car_sound_simulation_control);
  2. 新建「文本文档」,重命名为.gitignore(注意前缀有小数点,Windows提示“更改扩展名会导致文件不可用”时点击「是」);
  3. 保存并关闭文件,确保该文件与srcplatformio.ini等核心文件同级。

打开.gitignore,粘贴以下通用配置(适配绝大多数项目,PlatformIO/VSCode项目专用):

# 编译产物 .pio/ .piolibdeps/ .env/ # 编辑器配置 .vscode/ .idea/ # 二进制文件 *.bin *.elf *.hex # 系统临时文件 Thumbs.db desktop.ini .DS_Store # 日志文件 *.log *.tmp 

3.3 步骤3:初始化本地Git仓库

让Git开始管理你的本地项目:

  1. 进入本地项目文件夹,右键空白处选择「Git Bash Here」;
  2. 执行成功后,文件夹会生成隐藏的.git目录(Windows需开启“显示隐藏文件”才能看到),代表本地仓库创建完成。

执行初始化命令:

git init 

3.4 步骤4:添加并提交本地文件

将本地项目文件纳入Git版本控制:

    • 若只想添加特定文件,可替换为git add 文件名(如git add src/main.cpp);
  1. 执行成功后,会显示“x files changed, xxx insertions(+)”,代表文件已提交到本地仓库。

执行提交命令,给本次提交添加备注(备注需清晰,便于后续追溯):

git commit -m "初始化:基于ESP32的车载声浪模拟控制系统毕设项目"

执行命令,添加所有文件到暂存区(.表示当前文件夹所有文件):

gitadd.

3.5 步骤5:关联远程Gitee仓库

将本地仓库与Gitee远程仓库建立连接:

    • 示例:git remote add origin https://gitee.com/host_brace/car_sound_simulation_control.git

若输出以下内容(无拼写错误、无特殊字符),代表关联成功:

origin https://gitee.com/host_brace/car_sound_simulation_control.git (fetch) origin https://gitee.com/host_brace/car_sound_simulation_control.git (push) 

验证关联是否成功:

git remote -v 

执行关联命令(替换为你在3.1步骤复制的仓库地址):

git remote add origin https://gitee.com/你的用户名/仓库名.git 

3.6 步骤6:推送本地代码到Gitee

最后一步,将本地提交的代码上传到云端仓库:

    • 若你的本地分支是master(旧版Git),则执行git push -u origin master
  1. 首次推送会弹出登录窗口,输入你的Gitee账号密码(或验证码),点击「登录」;
  2. 等待执行完成,若显示“Branch ‘main’ set up to track remote branch ‘main’ from ‘origin’.”,代表推送成功!

执行推送命令(适配新版Git的main分支):

git push -u origin main 

四、验证上传结果

  1. 打开Gitee远程仓库页面,刷新后即可看到本地项目的所有文件(如srcplatformio.ini.gitignore);
  2. 检查文件完整性:确认核心代码文件存在,且.pio.vscode等无用文件未被上传;

后续修改代码后,只需重复以下3条命令即可同步更新:

gitadd.git commit -m "修改说明(如:修复声浪模拟模块bug)"git push 

五、新手必避的5个坑及解决方案

坑1:推送时提示“src refspec master does not match any”

  • 原因:本地分支是main,却推送至master分支(名称不匹配),或未执行git commit(无提交记录);
  • 解决方案:推送命令改为git push -u origin main,或先执行git add .+git commit -m "备注"

坑2:提示“remote origin already exists”

  • 原因:重复执行了git remote add origin命令,远程仓库别名已存在;

解决方案:先删除旧关联,再重新添加:

git remote rm origin git remote add origin 你的仓库地址.git 

坑3:远程地址含特殊字符(如–https://gitee.com/...

  • 原因:复制仓库地址时不小心复制了页面特殊符号;
  • 解决方案:删除错误关联,重新复制Gitee仓库页面「克隆/下载」中的HTTPS地址,再执行关联命令。

坑4:拼写错误(oringin代替origin

  • 原因:远程仓库别名拼写错误(origin是标准别名,意为“源头”);

解决方案:删除错误别名,重新关联:

git remote rm oringin git remote add origin 你的仓库地址.git 

坑5:“Repository not found”报错

  • 原因:仓库地址错误(用户名/仓库名拼写错误),或未登录Gitee账号;
  • 解决方案:核对仓库地址中的用户名和仓库名,确保与Gitee一致;重新登录Gitee后重试。

六、进阶技巧(毕设/团队协作必备)

6.1 仓库权限管理(毕设防抄袭)

  • 保持仓库「私有」:进入Gitee仓库→「管理」→「基本信息」→「仓库可见性」选择私有;
  • 添加协作者(给导师/同学授权):仓库→「管理」→「协作者」→「添加协作者」,输入对方Gitee用户名/邮箱,选择「读」权限(仅查看,不修改)。

6.2 生成临时访问链接(临时分享)

  • 场景:答辩前给评委临时查看代码,无需添加协作者;
  • 操作:仓库→「克隆/下载」→「生成临时访问令牌」→ 设置有效期(如1天)和「只读」权限→ 生成链接并分享。

6.3 分支管理(多版本开发)

开发完成后合并到主分支:

git checkout main # 切换回主分支git merge dev # 合并dev分支代码git push # 推送合并后的代码

新建开发分支(避免污染主分支):

git branch dev # 创建dev分支git checkout dev # 切换到dev分支

七、总结

本地项目上传Gitee的核心流程可概括为:安装Git→配置关联→创建远程仓库→本地初始化→提交文件→推送同步。新手只需严格按照步骤操作,避开别名拼写、分支名称、仓库地址这3类高频错误,就能顺利完成上传。

对于毕设项目,建议保持仓库私有,通过协作者授权给导师查看,既保证代码安全,又方便后续答辩和修改。如果遇到具体报错,可根据错误信息定位到本文「新手避坑」部分,或留言交流解决方案~

如果觉得本文有用,欢迎点赞、收藏、转发给需要的同学!📚

Read more

Linux命名管道(FIFO)通信:从原理到实操,一文搞懂跨进程通信

Linux命名管道(FIFO)通信:从原理到实操,一文搞懂跨进程通信

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 《Git深度解析》:版本管理实战全解 🌟心向往之行必能至 🎥Cx330🌸的简介: 目录 前言: 一、先搞懂:命名管道(FIFO)是什么? 1. 命名管道的本质 2. 命名管道的核心特点 3. 命名管道与匿名管道的对比 二. 命名管道的创建方式 2.1 命令行创建(mkfifo 命令) 2.2 代码创建(mkfifo 函数) 2.3 命名管道的打开规则 三、实操实现:手搓命名管道通信 3.1 前置准备(

By Ne0inhk
Flutter 组件 injectfy 适配鸿蒙 HarmonyOS 实战:逻辑注入矩阵,构建跨模块解耦与动态依赖管理架构

Flutter 组件 injectfy 适配鸿蒙 HarmonyOS 实战:逻辑注入矩阵,构建跨模块解耦与动态依赖管理架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 injectfy 适配鸿蒙 HarmonyOS 实战:逻辑注入矩阵,构建跨模块解耦与动态依赖管理架构 前言 在鸿蒙(OpenHarmony)生态迈向超大规模应用拆分、涉及数百个独立 Feature 模块与底层硬件服务深度解耦的背景下,如何实现灵活的“控制反转(IoC)”与“依赖注入(DI)”,已成为决定应用架构可维护性的“生命线”。在鸿蒙设备这类强调模块化挂载与 HAP/HSP 动态分发的环境下,如果应用内部的组件实例依然采用强耦合的硬编码初始化,由于由于各模块间复杂的循环依赖,极易由于由于初始化顺序错乱导致应用在流转拉起时的崩溃。 我们需要一种能够实现零成本解耦、支持单例(Singleton)与工厂(Factory)模式且具备极简注册语义的依赖注入框架。 injectfy 为 Flutter 开发者引入了轻量级的对象容器管理方案。它不仅支持对底层 Service 的全局托管,更提供了灵活的注入探测机制。在适配到鸿蒙

By Ne0inhk
一文通透OpenVLA——在Prismatic VLM(SigLIP、DinoV2、Llama 2)的架构上:基于“下一个token预测技术”预测离散化动作

一文通透OpenVLA——在Prismatic VLM(SigLIP、DinoV2、Llama 2)的架构上:基于“下一个token预测技术”预测离散化动作

前言 当对机器人动作策略的预测越来越成熟稳定之后(比如ACT、比如扩散策略diffusion policy),为了让机器人可以拥有更好的泛化能力,比较典型的途径之一便是基于预训练过的大语言模型中的广泛知识,然后加一个policy head(当然,一开始背后的模型比较简单,比如有用LSTM或MLP——RoboFlamingo) 再之后,便出来了越来越多成熟稳定的专门的VLA模型,比如OpenVLA,再比如近期介绍过过的π0——用于通用机器人控制的VLA模型:一套框架控制7种机械臂(基于PaliGemma和流匹配的3B模型) 1. π0的意义在于,首次用同一套策略/算法操作不同机器人/机械臂,这种基于机器人大模型的「预训练-微调」模式,很快会越来越多(犹如此前大模型革命NLP 其次CV等各模态,目前到了robot领域),算是代表了通用机器人的核心发展方向 2. 且π0 比英伟达的HOVER早一点,当然,同时期的RDT GR2也有这个潜力的,期待这两 后续的更新 一个多月前(本文首发于25年1月),有朋友曾说,一个月内,π0 会开源来着,当时虽然觉得不太可能,但还是抱着期待,可还

By Ne0inhk