github上传技巧

81 阅读2分钟

上传github:

Github第一次上传步骤

准备工作:验证 SSH 配置

1. 检查 SSH 密钥是否存在

Bash
ls -al ~/.ssh
  • 如果看到 id_ed25519 和 id_ed25519.pub(或 id_rsa 和 id_rsa.pub),说明已有密钥
  • 否则需要生成新密钥

2. 生成 SSH 密钥(如果不存在)

Bash
ssh-keygen -t ed25519 -C "your_email@example.com"
  • 按 Enter 接受默认保存位置
  • 可以选择设置密码(推荐)或直接按 Enter 跳过

3. 添加 SSH 密钥到 GitHub

Bash
# 复制公钥内容
cat ~/.ssh/id_ed25519.pub

# Windows 用户可以使用:
clip < ~/.ssh/id_ed25519.pub

在 GitHub 添加 SSH 密钥:

  1. 登录 GitHub → 右上角头像 → Settings

  2. 左侧菜单 → SSH and GPG keys

  3. 点击 New SSH key →

    • Title: 输入标识名称(如 "My Laptop")
    • Key type: Authentication Key
    • Key: 粘贴复制的公钥内容
  4. 点击 Add SSH key

4. 测试 SSH 连接

Bash
ssh -T git@github.com
  • 应该看到:Hi 你的用户名! You've successfully authenticated...

上传项目的步骤

1. 在 GitHub 创建新仓库

  1. 登录 GitHub → 点击 "+" → New repository
  2. 填写 Repository name(仅使用字母、数字、-、_、.)
  3. 选择 Public/Private
  4. 取消勾选 "Initialize this repository with a README"
  5. 点击 Create repository

2. 复制仓库 SSH 地址

  • 在新仓库页面 → 点击绿色 "Code" 按钮
  • 选择 "SSH" 选项卡
  • 复制地址(格式:git@github.com:用户名/仓库名.git

3. 初始化本地项目

Bash
# 进入项目目录
cd /path/to/your/project

# 初始化 Git 仓库
git init

# 添加所有文件到暂存区
git add .

# 提交更改
git commit -m "Initial commit"

4. 添加远程仓库

Bash
git remote add origin git@github.com:用户名/仓库名.git

5. 推送项目到 GitHub

Bash
# 推送主分支(GitHub 默认使用 main)
git branch -M main      # 如果本地使用 master,重命名为 main
git push -u origin main # 首次推送并设置上游分支

# 如果本地分支已是 main:
git push -u origin main

验证成功

  1. 刷新 GitHub 仓库页面
  2. 应该看到所有项目文件
  3. 确认分支名显示为 main

后续操作

Bash
# 后续更新项目只需:
git add .
git commit -m "更新描述"
git push

常见问题解决

1. 推送被拒绝(权限问题)

Bash
# 验证 SSH 密钥是否添加正确
ssh -T git@github.com

# 检查远程地址
git remote -v

2. 分支名称冲突

Bash
# 如果本地是 master,远程需要 main:
git branch -M main
git push -u origin main

3. 项目过大上传失败

Bash
# 优化大文件(考虑使用 Git LFS)
git rm --cached 大文件路径
git commit -m "移除大文件"
git push

提示:SSH 方式比 HTTPS 更安全快捷,特别是设置 SSH 密钥密码后,每次推送不需要重复认证(除非重启系统)

GitHub再次上传步骤

  1. 进入目标文件
  2. git init
  3. git add .
  4. git commit -m "硅谷电商后台(要提示的东西)"
  5. git remote set-url origin 你复制的SSH地址
  6. 如果本地是 master,远程仓库默认是 main,可以强制“让本地 master 对应远程 main git push -u origin master:main