大家在学习 Linux 或 Python 开发时,经常会遇到一个问题:如何把本地写好的代码上传到 GitHub,方便备份和分享?今天就给大家带来一套超简单的完整流程,每一步代码都有详细讲解,零基础也能轻松学会!
一、 前期准备
- 已安装 Git(Ubuntu 系统可通过
sudo apt install git -y安装) - 拥有 GitHub 账号,并新建了一个空仓库(本文以
https://github.com/user_name/仓库名字.git为例) - 本地已有需要上传的项目代码(本文以
DB-GPT-Hub项目为例)
二、 完整操作流程(逐句代码讲解)
步骤 1:激活项目环境(可选,针对 Conda 环境项目)
bash
运行
conda activate 环境名字
代码讲解:
- 这是针对使用 Conda 管理环境的项目,
环境名字是你的环境名称 - 作用:激活项目对应的 Python 环境,确保后续操作在正确的环境中进行(非 Conda 项目可跳过此步骤)
- 执行后终端提示符前会出现
(环境名字),表示环境激活成功
步骤 2:进入本地项目目录
bash
运行
cd ~/项目名字
代码讲解:
cd:Linux 系统中切换目录的核心命令~/项目名字:你的本地项目绝对路径(~代表当前用户的主目录)- 作用:进入需要上传的项目文件夹,后续所有 Git 操作都在该目录下执行
步骤 3:配置 Git 全局用户信息(关键!避免提交报错)
bash
运行
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
代码讲解:
-
第一句
git config --global user.name "Your Name"git config:Git 的配置命令,用于设置 Git 的各种参数--global:全局参数,表示该配置对当前用户的所有 Git 仓库生效(无需每个仓库单独配置)user.name:配置 Git 的提交者姓名"Your Name":替换为你的自定义姓名(如"Z666"),必须用英文引号包裹
-
第二句
git config --global user.email "you@example.com"user.email:配置 Git 的提交者邮箱"you@example.com":替换为你的 GitHub 注册邮箱(必须一致,否则 GitHub 无法识别你的提交)- 作用:Git 每次提交代码时,都会记录提交者的姓名和邮箱,这是 Git 的必要配置,不配置会导致后续
git commit报错
步骤 4:初始化本地 Git 仓库
bash
运行
git init
代码讲解:
git init:初始化本地仓库的核心命令- 作用:在当前项目目录下创建一个隐藏的
.git文件夹,该文件夹用于存储 Git 的版本控制信息(如提交记录、分支信息等) - 执行后提示
Initialized empty Git repository in /home/你的文件路径/.git/,表示本地仓库初始化成功
步骤 5:暂存本地所有文件
bash
运行
git add .
代码讲解:
git add:Git 的暂存命令,用于将文件添加到 Git 的暂存区(相当于 "待提交缓冲区").:通配符,表示当前目录下的所有文件和文件夹(包括子目录)- 作用:把项目中所有修改过的、新增的文件都暂存起来,为后续提交做准备
- 注意:执行后可能会出现嵌套仓库警告(如本文中的
my-db仓库警告),不影响基础提交,新手可暂时忽略
步骤 6:提交暂存区文件到本地仓库
bash
运行
git commit -m "Initial commit"
代码讲解:
git commit:Git 的提交命令,用于将暂存区的文件提交到本地 Git 仓库-m:指定提交备注的参数,必须跟在git commit后面"Initial commit":提交备注信息,用于描述本次提交的内容(如 "初始化项目""修复某个 bug" 等),方便后续查看提交历史- 执行后会显示提交信息(如文件变更数量、插入代码行数等),表示本地提交成功
- 核心作用:生成一个本地的代码版本记录,这是代码上传到远程仓库的前提
步骤 7:关联远程 GitHub 仓库
bash
运行
git remote add origin https://github.com/github账户名字/仓库名字.git
代码讲解:
git remote add:添加远程仓库关联的命令origin:远程仓库的默认别名(Git 的通用约定,可自定义,但不建议修改)例如https://github.com/Z666/db.git:替换为你的 GitHub 空仓库地址(可从 GitHub 仓库页面复制,支持 HTTPS 和 SSH 两种格式)- 作用:建立本地仓库与远程 GitHub 仓库的关联,告诉 Git 后续要把代码推送到哪个远程仓库
步骤 8:创建并切换到 main 分支(Git 默认主分支)
bash
运行
git checkout -b main
代码讲解:
git checkout:Git 的分支切换命令-b:新建分支并切换的参数(相当于git branch main+git checkout main两步操作的合并)main:当前 Git 的默认主分支名称(早期为master,现在主流平台已改为main)- 作用:创建项目的主分支,并切换到该分支,后续代码都在主分支上推送和维护
- 执行后提示
Switched to a new branch 'main',表示分支创建并切换成功
步骤 9:再次提交(可选,针对无新修改的情况)
bash
运行
git commit -m "Initial commit"
代码讲解:
- 由于上一步已经执行过
git commit,本地工作区没有新的修改,因此执行后会提示nothing to commit, working tree clean(无内容可提交,工作区干净) - 作用:再次确认本地提交状态,确保所有需要上传的文件都已提交到本地仓库(无新修改时可跳过此步骤)
步骤 10:推送本地代码到 GitHub 远程仓库
bash
运行
git push -u origin main
代码讲解:
git push:Git 的推送命令,用于将本地仓库的代码推送到远程仓库-u:全称--set-upstream,核心作用是建立本地main分支与远程origin/main分支的关联origin:远程仓库的别名(对应步骤 7 中配置的远程仓库)main:要推送的本地分支名称(对应步骤 8 中创建的主分支)
三、 验证推送结果
推送成功后,打开你的 GitHub 仓库页面(如 https://github.com/Z6666/db.git),即可看到本地的 DB-GPT-Hub 项目代码已经成功上传,所有文件和目录都完整显示。
四、 新手常见问题总结
- 忘记配置用户信息:执行
git commit时会报错,只需补充步骤 3 的配置即可 - 远程仓库地址错误:执行
git push时会报错,可通过git remote rm origin删除错误关联,再重新执行步骤 7 - 推送时提示权限不足:HTTPS 格式仓库会提示输入 GitHub 账号密码,SSH 格式仓库需提前配置 SSH 密钥
五、 总结
本文的核心流程可归纳为:
- 配置 Git 用户信息(关键前置步骤)
- 本地仓库初始化 + 暂存 + 提交
- 关联远程仓库 + 创建分支
- 推送本地代码到 GitHub
所有代码都已详细讲解,新手只需按步骤替换自己的项目路径、用户名、邮箱和仓库地址,即可轻松完成本地代码上传到 GitHub 的操作,赶紧动手试试吧!