如何上传代码到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合并即可。

相关推荐
阿里嘎多学长38 分钟前
2026-07-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
小蠢驴打代码1 小时前
记忆库能通过测试,不等于回答值得信:Coding Agent Memory 的两层评估设计
github·ai编程
武子康1 小时前
Copilot Code Review 从固定 Reviewer 演进为可编程 Runtime,仓库控制面、Setup 供应链、Runner 资源和 MCP 工具同时被纳入审查决策
人工智能·github·aigc
wangruofeng12 小时前
opencodex 解锁 Codex 任意模型,一个本地代理打通 Claude/Kimi/GLM/DeepSeek
llm·github·openai
一点一木14 小时前
从60首歌到1个网站:输入你的故事,还你一首歌
前端·github
刘较瘦_18 小时前
AI 开发中的 Git Submodule 父子仓库模式:前后端分仓管理与协作实践
前端·github
DeMinds21 小时前
内容没有丢,我为什么总在重新整理?|DeMinds 如何让工作接着继续
ios·github·markdown
寒水馨21 小时前
macOS下载、安装openclaw-v2026.7.1(附安装包OpenClaw-2026.7.1.dmg)
macos·大模型·github·开源软件·ai助手·openclaw·gpt-5.6
徐小夕1 天前
花了3天,我写了一款开源AI公众号编辑器
前端·vue.js·github