Git 本地项目推送到 GitHub 实战:init、commit、push 详解
刚开始学 Git 的时候,很多人都会卡在这几个问题上:
- 我已经在本地写好了项目,接下来怎么上传到 GitHub?
git init、git add、git commit、git push到底分别在干什么?- 本地仓库和远程仓库有什么区别?
- 为什么我一推送就报错?
本文将不只讲解命令,还会尽量把背后的逻辑讲清楚。
如果你现在的状态是:
- 本地已经有一个项目目录
- 想把它上传到 GitHub
- 但不太理解 Git 的整体流程
那这篇文章会比较适合你。
本文会一步一步带你走完下面这条主线:
- 创建本地项目目录
- 初始化 Git 仓库
- 添加文件并创建第一次提交
- 在 GitHub 上创建远程仓库
- 绑定远程地址
- 把本地代码推送到 GitHub
- 解决常见报错
本文使用的示例项目名是 RepoCopilot,你也可以把它替换成自己的项目名来操作。
1. 先理解:本地仓库和远程仓库分别是什么
如果只记一句话,可以记这个:
- 本地仓库:你电脑上的版本管理记录
- 远程仓库:GitHub 上的在线备份和协作中心
也就是说,Git 主要负责本地版本管理,GitHub 主要负责远程托管和协作。
一个项目从本地推到 GitHub,通常会经历下面这条主线:
- 创建项目目录
- 初始化本地 Git 仓库
- 添加文件
- 创建第一次提交
- 在 GitHub 上创建远程仓库
- 绑定远程仓库
- 推送到 GitHub
2. 创建本地项目目录
先在本地新建一个文件夹作为项目根目录:
mkdir RepoCopilot
cd RepoCopilot
这时它还只是一个普通文件夹,不是 Git 仓库。
你可以先放一些基础文件进去,比如:
README.md.gitignoreLICENSE- 源代码目录
例如:
touch README.md .gitignore
mkdir apps
3. 初始化本地 Git 仓库
在项目目录执行:
git init -b main
这一步做了两件事:
- 创建一个隐藏的
.git目录 - 把当前文件夹变成 Git 仓库
参数 -b main 的作用是把默认分支直接设为 main。
执行后,你可以用下面命令检查当前状态:
git status

