游乐游手机版
首页/编程语言/文章详情

VSCode怎么上传本地项目到新建的GitHub仓库

时间:2026-05-04 08:27
先初始化本地仓库并提交,再创建无README的GitHub空仓库,复制含 git后缀的HTTPS地址,用git remote add、git branch -M main、git push -u origin main完成绑定与推送。 确认本地项目已初始化为 Git 仓库 如果你在项目目录下运行 g

先初始化本地仓库并提交,再创建无README的GitHub空仓库,复制含.git后缀的HTTPS地址,用git remote add、git branch -M main、git push -u origin main完成绑定与推送。

VSCode怎么上传本地项目到新建的GitHub仓库

确认本地项目已初始化为 Git 仓库

如果你在项目目录下运行 git status,却收到“not a git repository”的报错,那说明准备工作还没开始。别急,解决起来很简单:直接进入你的项目根目录,然后按顺序执行下面几个命令。

  • git init —— 这个命令会在当前目录创建一个隐藏的 .git 文件夹,这是仓库的核心。不过,它并不会自动帮你把文件加进去。
  • git add . —— 接下来,用这个命令添加所有文件。注意,命令末尾的那个点号千万不能漏掉,它代表“当前目录所有变更”。
  • git commit -m "initial commit" —— 最后,必须完成这次提交。这是关键一步,没有这个初始提交,后续关联远程仓库的操作很可能会失败。

怎么确认成功了呢?看一眼VSCode窗口底部的状态栏。如果那里显示了当前分支名(比如 main),那就没问题。如果什么都没看到,那很可能前面的初始化或提交步骤没有真正完成。

在 GitHub 上创建空仓库并复制 HTTPS 或 SSH 地址

接下来,打开浏览器,去GitHub上创建一个新仓库。这里有个至关重要的细节:创建时,千万不要勾选 “Initialize this repository with a README” 这个选项。为什么呢?如果你勾选了,GitHub会帮你生成一个包含README文件的初始提交。这样一来,远程仓库就有了提交历史,会和你本地刚做的那个 initial commit 产生冲突,导致后续的 git push 被拒绝。

创建完成后,页面会跳转到新仓库。找到右上角的绿色“Code”按钮,点击它,你会看到仓库的地址。对于大多数新手来说,建议优先使用HTTPS地址,因为它不需要预先配置SSH密钥,更直接。地址的格式通常是这样的:https://github.com/你的用户名/仓库名.git

这里要特别提醒:复制的地址末尾一定要有 .git 后缀。少了这个后缀,虽然 git remote add 命令可能不会报错,但等到执行 push 的时候,很可能会遇到 repository not found 这样的错误提示。

在 VSCode 终端里绑定远程仓库并推送

现在,回到VSCode。使用快捷键 Ctrl+` 打开内置终端,并确保终端的工作目录就在你的项目根目录下。然后,依次输入并执行下面三条命令:

  • git remote add origin https://github.com/username/repo-name.git —— 这条命令的作用是为远程仓库起一个别名,这里用了惯例的 origin,当然你也可以用别的名字。
  • git branch -M main —— 这条命令是强制将当前分支重命名为 main。这是因为现在GitHub上新仓库的默认主分支名已经是 main 了,不再是过去的 master,保持同步可以避免 confusion。
  • git push -u origin main —— 最后,执行推送。-u 参数只在第一次推送时需要,它建立了本地分支与远程分支的跟踪关系。之后你再想推送,直接输入 git push 就可以了。

执行推送命令时,如果用的是HTTPS方式,系统可能会提示你登录GitHub账户。输入用户名和密码即可。如果你的账户启用了双重验证,那么密码需要替换成你在GitHub上生成的 Personal Access Token(生成路径:Settings → Developer settings → Personal access tokens → Tokens,生成时记得勾选 repo 权限)。

VSCode 图形界面操作的坑与补充

很多朋友可能会想,VSCode左侧不是有个源代码管理的图标吗?里面好像有个“发布到GitHub”的按钮,能不能直接用那个?答案是:可以,但不推荐,尤其在你已经按照上述步骤操作的情况下。

那个图形化按钮为了“方便”,会自动做很多事情:比如帮你创建远程仓库、自动生成一个README文件、甚至可能强制使用SSH协议。这些“自动化”操作,恰恰和我们“创建空仓库”、“使用HTTPS”的需求背道而驰。特别是当本地已经存在提交记录时,它可能会悄悄修改你的分支名,或者引发一些意想不到的冲突。

所以,一个更稳妥、更可控的建议是:在VSCode里,我们只用图形界面来完成代码对比、暂存更改和提交这些操作;而所有涉及远程仓库的操作(添加远程地址、推送),一律通过终端命令行来完成。这样每一步都在你的掌控之中。当然,命令执行成功后,你依然可以在VSCode的图形界面里看到推送进度条和成功提示,因为它的底层调用的其实还是 git push 命令。

全部完成后,刷新一下你的GitHub仓库页面,应该就能看到项目文件了。如果刷新后只看到一个空仓库页面,或者干脆是404,别慌。这时候,大概率是远程地址写错了、本地和远程的分支名没对上,或者最根本的——你本地最初的那次 commit 其实并没有成功执行。

来源:https://www.php.cn/faq/2348960.html
上一篇Composer如何处理包的自动发现_Composer Laravel包自动注册机制【核心】 下一篇VSCode配置Rust开发:安装rust-analyzer与调试环境搭建
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Debian下Golang跨平台开发方法指南
编程语言 · 2026-07-09

Debian下Golang跨平台开发方法指南

在Debian系统上,通过Go原生交叉编译、标准库跨平台抽象及合理代码设计,实现“一次编写,多平台运行”。方法包括环境配置、平台差异处理、交叉编译、依赖管理与多平台测试,最终生成稳定静态可执行文件。

Express服务器JSON请求体正确解析完整实践指南
编程语言 · 2026-07-09

Express服务器JSON请求体正确解析完整实践指南

Express应用中发现`req body`显示为`[Object]`,并非JSON解析失败,而是`console log()`默认对象缩略行为所致。使用`JSON stringify()`或`util inspect()`可完整查看数据结构。正确配置`express json()`中间件并设置请求头,即可确保解析成功。生产环境应避免直接输出敏感数据,建议限

Java泛型构造惯用模式:工厂模式替代反射与冗余参数
编程语言 · 2026-07-09

Java泛型构造惯用模式:工厂模式替代反射与冗余参数

Java接口无法声明构造方法,初始化泛型子类型时应使用工厂接口或Supplier函数式接口,避免反射与自引用泛型。工厂模式实现编译期安全、零反射开销、IDE友好,按需选用Supplier或专用工厂接口。

Debian系统Golang并发编程入门教程
编程语言 · 2026-07-09

Debian系统Golang并发编程入门教程

在Debian系统通过包管理器安装Golang,介绍并发编程:Goroutines是轻量级线程,用go关键字启动;Channels用于同步通信,两者结合实现高并发服务。

Debian下Golang机器学习库推荐与使用指南
编程语言 · 2026-07-09

Debian下Golang机器学习库推荐与使用指南

在Debian系统配置Golang环境后,可选用Gorgonia、Gonum和GoLearn等机器学习库。以Gorgonia为例,通过计算图定义线性回归模型,利用梯度下降优化均方误差,训练后即可预测新数据。