使用 VS Code 将项目代码上传到 Gitee 的完整指南

使用 VS Code 将项目代码上传到 Gitee 的完整指南
在现代软件开发流程中,版本控制是不可或缺的一环。

Gitee(码云)作为国内领先的代码托管平台,为开发者提供了稳定、快速的 Git 服务。

本文将详细介绍如何使用 Visual Studio Code(VS Code)将本地项目代码上传至 Gitee 仓库,涵盖从环境配置、初始化仓库到推送代码的完整流程。

一、准备工作

1. 安装必要工具

  • Git:确保你的系统已安装 Git。
    可通过终端运行 git --version  或 git -v 验证是否安装成功。

2. 安装 VS Code 插件(可选但推荐)

虽然 VS Code 内置了 Git 支持,但以下插件可提升体验:

  • GitLens:增强 Git 功能,提供提交历史、代码作者等信息。
  • Git Graph,用于可视化,方便后续版本切换
  • GitHub Pull Requests and Issues:虽然名为 GitHub,但对 Gitee 也有一定兼容性(主要用于 PR 管理,非必需)。
注意:Gitee 与 GitHub 在 API 上不完全兼容,因此部分 GitHub 插件可能无法直接用于 Gitee。

二、创建 Gitee 远程仓库

1. 登录 Gitee 账号,点击右上角 “+” → “新建仓库”

2. 填写仓库名称,选择公开或私有。

3. 不要勾选“使用 README.md 初始化”(如果你已有本地代码),否则后续推送时会因远程存在提交而冲突。下面三个建议都不勾选

4. 点击 “创建”,记录生成的仓库地址(如 https://gitee.com/yourname/my-project.git)。

三、配置本地 Git 环境

在终端(或 VS Code 内置终端)中执行以下命令:

# 配置全局用户名和邮箱(仅首次需要) git config --global user.name "你的Gitee用户名" git config --global user.email "你的Gitee注册邮箱"
注意:邮箱必须与 Gitee 账号绑定的邮箱一致,否则提交记录可能无法正确关联。

四、在 VS Code 中初始化并上传项目

步骤 1:打开项目文件夹

  1. 启动 VS Code。
  2. 使用 File → Open Folder 打开你的本地项目目录。

步骤 2:初始化 Git 仓库(如果尚未初始化)

如果项目目录下没有 .git 文件夹,说明尚未初始化 Git:

在vscode,点击源代码管理,初始化仓库

或者,打开 VS Code 终端(Ctrl + ~ 或 Terminal → New Terminal),使用命令初始化

git init

步骤 3:添加文件并提交

1. 在 VS Code 左侧活动栏点击 源代码管理(Source Control) 图标(或按 Ctrl+Shift+G)。

(这里我忘记创建.gitignore文件了,导致所有文件都进来了,大家记得先创建.gitignore,把不需要上传的环境、静态资源等文件去掉)

2. 你会看到所有未跟踪的文件列在 “Changes (更改)” 区域。

3. 点击文件旁边的 + 图标(或点击顶部的 + 全选)将文件暂存(Stage)。

4. 在输入框中填写提交信息(如 首次提交),然后按 Ctrl+Enter 提交。

你也可以在终端中执行:

步骤 4:关联远程 Gitee 仓库

方法1

使用ssh地址,通过界面关联

在gitee找到ssh地址

粘贴地址,点击回车,再输入一个仓库名字

接着点击发布即可,使用该方法到这里就完成了,代码已经推送到远程仓库,不需要继续下面的步骤

方法2

在终端中执行(替换为你的实际仓库地址):

git remote add origin https://gitee.com/yourname/my-project.git

验证是否添加成功:

git remote -v

应显示:

origin https://gitee.com/yourname/my-project.git (fetch) origin https://gitee.com/yourname/my-project.git (push)

步骤 5:推送代码到 Gitee

执行推送命令:

git push -u origin main
注意:Gitee 默认分支名可能是 master 或 main,取决于创建仓库时的设置。
如果提示 src refspec main does not match any,尝试:

或先查看本地分支名:

当然,我们使用图形化界面肯定更加方便,直接提交

首次推送时,VS Code 或系统可能会弹出认证窗口,输入你的 Gitee 账号和密码。(手机号和密码)

⚠️ 重要:自 2021 年起,Gitee(以及 GitHub)不再支持账号密码直接认证。你需要使用 个人访问令牌(Personal Access Token) 代替密码。
如何生成 Gitee 个人访问令牌?
  1. 登录 Gitee,进入 设置 → 私人令牌(Private Token)
  2. 点击 “生成新令牌”,填写令牌名称(如 vscode-push),勾选 repo 权限。
  3. 点击 “生成”,复制生成的令牌(只显示一次,请妥善保存)。
  4. 推送时,用户名填 Gitee 用户名,密码填该令牌

那么,在gitee就可以看到我们提交的消息

仓库里可以看到相关内容

五、补充问题

由于是首次操作,我们可能会忘记创建.gitignore 文件,或者在上传代码后才发现.gitignore 文件存在遗漏,导致远程仓库中出现许多不必要的文件。在补充完.gitignore 文件后,我们需要重新移除对这些文件的跟踪,以确保后续这些被忽略的文件不会上传到远程仓库。

这里因为我们是首次上传进仓库,且是单独开发,所以可以直接全部移除,再重新添加

git rm -r --cached . git add .

这里的意思

  • 先取消所有文件的缓存(但保留本地文件)
  • 再重新 add,此时 .gitignore 生效,被忽略的文件就不会被加入暂存区

直接运行提交命令

git commit -m "移除无用文件,新建 .gitignore"

强制推送

git push --force origin main # 或者你用的是 master 分支: # git push --force origin master

六、总结

通过 VS Code 与 Gitee 的结合,开发者可以高效地进行本地开发与远程协作。整个流程核心在于:

  1. 初始化本地 Git 仓库;
  2. 创建 Gitee 远程仓库;
  3. 关联远程地址;
  4. 使用个人访问令牌安全认证;
  5. 推送代码。

掌握这一流程后,你不仅能上传新项目,还能轻松管理日常的版本控制与团队协作。

Read more

C++ 网络编程详解(全集超详细)

C++ 网络编程详解(全集超详细)

一、网络编程基础 1. 计算机网络体系结构 OSI七层模型 OSI(Open Systems Interconnection)七层模型是一个理论上的网络通信框架,由国际标准化组织(ISO)提出。它将网络通信分为七个层次,每一层都有特定的功能和协议: 1. 物理层(Physical Layer) * 负责传输原始比特流(0和1)。 * 定义物理介质(如电缆、光纤)的特性,如电压、传输速率等。 * 典型协议:Ethernet(物理层部分)、RS-232。 2. 数据链路层(Data Link Layer) * 将比特流组织成帧(Frame),并进行错误检测(如CRC校验)。 * 管理物理地址(MAC地址)和局域网(LAN)通信。 * 典型协议:Ethernet(MAC层)、PPP。 3.

By Ne0inhk
【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通

【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通

各位读者大佬好,我是落羽!一个坚持不断学习进步的学生。 如果您觉得我的文章还不错,欢迎多多互三分享交流,一起学习进步! 也欢迎关注我的blog主页:落羽的落羽 文章目录 * 一、调试前的预备知识 * 二、gdb/cgdb的使用 * 1. 启动,查看代码 * 2. 基础调试命令 * 3. 监视变量相关命令 * 4. 设置条件断点 一、调试前的预备知识 程序发布的方式有两种,debug模式和release模式。 * debug模式:生成的可执行程序中会包含程序的调试信息,便于程序员进行调试代码。 * release模式:会剥离或不生成这些调试信息。这使得文件更小,但也意味着调试器几乎无法工作,release版本程序无法进行调试。 Linux的gcc/g++,按照我们之前的写法gcc -o $@ $^,默认生成的是release版本的程序,是无法进行调试的。要在命令后加-g选项,指定以debug方式发布,debug模式下的程序我们才能进行调试。 gcc -o $@ $^ -g 二、gdb/cgdb的使用

By Ne0inhk
【Linux】线程池(一)C++ 手写线程池:基于策略模式实现高性能日志模块

【Linux】线程池(一)C++ 手写线程池:基于策略模式实现高性能日志模块

文章目录 * 池化技术 * 线程池的日志模块 * 日志与策略模式 * 日志模块 * 两个核心问题 * 设计文件等级 * 刷新策略 * 获取日志时间 * logger类实现 * 内部类LogMessage实现 * 日志刷新流程图及源码 池化技术 池化技术可以减少很多的底层重复工作,例如创建进程、线程、申请内存空间时的系统调用和初始化工作,例如线程池,先预先创建好一些线程,当任务到来时直接将预先创建好的线程唤醒去处理任务,效率会远远高于任务到来时临时创建线程。例如内存池,但我们要用1mb空间时内存池会一次性申请20mb空间,效率会远远高于用多少空间申请多少空间(申请空间会调用系统调用)。 线程池是执行流级别的池化技术,STL中的空间配置器和内存池是内存块管理级别的池化技术。 线程池的日志模块 下⾯开始,我们结合我们之前所做的所有封装,进⾏⼀个线程池的设计。在写之前,我们要做如下准备。 * 准备线程的封装 * 准备锁和条件变量的封装 * 引⼊日志,对线程进⾏封装 日志与策略

By Ne0inhk