如何上传代码到github仓库

一、前期准备

  1. 安装并配置 Git(必做)
    安装 Git:
    Windows:下载 Git for Windows,一路默认安装即可(记得勾选 "Git Bash Here" 方便右键打开命令行)。
    macOS:打开终端执行 brew install git(需先装 Homebrew),或直接下载安装包。
    Linux:执行 sudo apt install git(Debian/Ubuntu)或 sudo yum install git(CentOS)。
    验证安装:打开终端 / Git Bash,输入 git --version,能显示版本号即安装成功。
    配置 Git 身份(必须和 GitHub 账号一致):
    bash
    运行

替换成你的GitHub用户名

git config --global user.name "你的GitHub用户名"

替换成你的GitHub绑定邮箱

git config --global user.email "你的GitHub邮箱@xxx.com"

  1. 在 GitHub 创建空仓库

登录 GitHub,点击右上角 "+" 号 → 选择 "New repository"。

填写仓库信息:

Repository name:仓库名(建议和本地项目名一致)。

Description(可选):仓库描述,比如 "我的第一个 Python 项目"。

Visibility:选择公开(Public)或私有(Private)。

不要勾选 "Add a README file"(避免和本地项目冲突)。

点击 "Create repository",此时会进入仓库空页面,复制页面上的仓库地址(HTTPS 或 SSH 都可以,新手推荐先选 HTTPS)。

二、本地推送项目到 GitHub(核心步骤)

打开 Git Bash(Windows)或终端(macOS/Linux),按以下步骤执行:

  1. 进入本地项目目录
    bash
    运行

替换成你的项目本地路径,比如 cd /Users/xxx/Desktop/my-project

cd 你的本地项目绝对路径

  1. 初始化 Git 仓库(首次上传必做)

bash

运行

git init

作用:在项目目录下创建.git 隐藏文件夹,标记该目录为 Git 可管理的仓库。

  1. 将项目文件添加到暂存区

bash

运行

添加所有文件(推荐)

git add .

若只想添加单个文件,比如 git add main.py

注意:如果有不想上传的文件(比如依赖包、日志),可以创建.gitignore文件,写入忽略规则(比如venv/、*.log)。

  1. 提交文件到本地仓库

bash

运行

替换备注信息,比如 "首次提交:完成项目基础功能"

git commit -m "你的提交备注"

作用:将暂存区的文件正式提交到本地 Git 仓库,备注信息用于记录本次提交的内容,方便后续追溯。

  1. 关联远程 GitHub 仓库

bash

运行

替换成你复制的仓库地址,比如 git remote add origin https://github.com/你的用户名/仓库名.git

git remote add origin 你的GitHub仓库地址

作用:将本地仓库和远程 GitHub 仓库建立关联,origin是远程仓库的默认别名。

  1. 推送代码到 GitHub

bash

运行

首次推送用这个命令(绑定默认分支)

git push -u origin main

后续推送可简化为 git push

注意:如果 GitHub 提示分支名是master而非main,则替换为 git push -u origin master。

身份验证:

若用 HTTPS 地址,会弹出窗口要求输入 GitHub 用户名和密码(2021 年后 GitHub 不再支持密码登录,需用 Personal Access Token 替代密码,生成方法见文末)。

若用 SSH 地址,需先配置 SSH 密钥(适合频繁推送的场景,文末附简易步骤)。

三、常见问题解决

  1. 推送失败:"fatal: remote origin already exists"
    原因:本地已关联过其他远程仓库。
    解决:先删除原有关联,再重新关联:
    bash
    运行
    git remote rm origin
    git remote add origin 你的GitHub仓库地址
  2. 推送失败:"failed to push some refs to..."
    原因:远程仓库有默认文件(比如你误勾选了 README),和本地仓库冲突。
    解决:先拉取远程文件并合并,再推送:
    bash
    运行
    git pull --rebase origin main
    git push -u origin main
  3. 生成 Personal Access Token(HTTPS 登录用)
    GitHub 主页 → 右上角头像 → Settings → Developer settings → Personal access tokens → Tokens (classic)。
    点击 "Generate new token (classic)",填写备注、过期时间,勾选 "repo" 权限,点击生成。
    复制生成的 Token(只显示一次),推送代码时,密码框输入这个 Token 即可。
  4. 配置 SSH 密钥(免密登录,推荐)
    bash
    运行

1. 生成SSH密钥(一路回车,无需设置密码)

ssh-keygen -t ed25519 -C "你的GitHub邮箱"

2. 复制公钥内容

Windows:cat ~/.ssh/id_ed25519.pub

macOS/Linux:pbcopy < ~/.ssh/id_ed25519.pub

3. GitHub主页 → Settings → SSH and GPG keys → New SSH key,粘贴公钥并保存。

总结

上传项目核心流程:GitHub 创建空仓库 → 本地初始化 Git → 提交文件 → 关联远程仓库 → 推送代码。

身份验证优先选 SSH(免密),HTTPS 需用 Personal Access Token 替代密码。

推送失败大概率是分支冲突或远程仓库已存在文件,用git pull --rebase合并即可。

相关推荐
Shell运维手记12 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
码流怪侠13 小时前
StereoCrafter 源码级深度拆解:腾讯如何把 2D 视频“抠“成 3D
github·音视频开发·webvr
fthux16 小时前
不必下载整个仓库:GitZip Pro 让 GitHub 文件与文件夹批量下载更简单
前端·chrome·ai·edge·开源·github·firefox
人工智能研究所20 小时前
GitHub 10k+ Star:用自然语言描述系统,AI 帮你生成可交互架构图
人工智能·github·交互·自然语言·系统架构图·archify
逛逛GitHub20 小时前
一个 Skill.md 拿下 1.8 万星,这个 GitHub 项目让 AI 先说重点。
github
云空21 小时前
《GitHub 从入门到进阶完整教程》
github
Timeless15921 小时前
Git与TortoiseGit使用教程:第二章 Git常用命令及TortoiseGit使用教程
github
用户69371750013841 天前
深夜炸场!DeepSeek 没发新模型,却重构了整个 Agent 生态
前端·后端·github
fthux1 天前
装闭 RenoPit 源码解析(08):多模态AI调用、重试与文本降级
人工智能·ai·开源·github·open source·renopit
笨鸟先飞,勤能补拙1 天前
AI Agent应用领域深度解析:从概念到落地的全维度审视
大数据·人工智能·python·物联网·安全·网络安全·github