将本地仓库推送到GitHub

发布于:2025-07-01 ⋅ 阅读:(20) ⋅ 点赞:(0)

一、Git全局账号配置

在终端中设置与GitHub关联的用户身份:

  1. 配置用户名与邮箱(提交时显示的身份):

    git config --global user.name "Your GitHub Username"
    git config --global user.email "your_email@example.com"  # 需与GitHub注册邮箱一致
    
    • 此配置仅标识本地提交者身份,与GitHub登录凭证无关。

二、SSH密钥生成与绑定

通过SSH密钥实现免密认证(推荐):

2.1 生成密钥对(支持Ed25519或RSA算法):

ssh-keygen -t ed25519 -C "your_email@example.com"  # Ed25519更安全高效
# 若系统不支持Ed25519,改用:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 按提示选择密钥保存路径(默认 ~/.ssh/id_ed25519
  • 设置密钥密码(可选,增强安全性)。

2.2 添加公钥到GitHub账户

  • 复制公钥内容

    cat ~/.ssh/id_ed25519.pub  # 显示内容后手动复制
    
  • GitHub网页端操作

    • 进入 SettingsSSH and GPG KeysNew SSH Key
    • 填写自定义标题(如 My Laptop),粘贴公钥内容。
  1. 密钥算法选择建议
    算法类型 命令示例 适用场景
    Ed25519 ssh-keygen -t ed25519 -C "邮箱" 新系统首选(安全性高)
    RSA 4096 ssh-keygen -t rsa -b 4096 -C "邮箱" 兼容旧系统

三、测试SSH连接

验证密钥是否生效(可能要重启终端):

ssh -T git@github.com
  • 首次连接需确认指纹,输入 yes
  • 成功响应
    Hi username! You've successfully authenticated...

四、仓库配置与推送

4.1 新仓库克隆(直接使用SSH协议)

本地还没有项目代码的情况下

# 拉取远程仓库
git clone git@github.com:username/repo.git

# 推送到远程仓库(后续可以简写git push)
git push -u origin main
# -u 参数将本地分支与远程分支关联,后续推送可简化为 git push

4.2 现有仓库切换协议(从HTTPS改为SSH)

本地已有项目代码,而GitHub仓库为空的情况。

# 添加远程仓库(首次设置远程仓库链接)
git remote add origin git@github.com:username/repo.git
git remote -v              # 验证URL是否更新
git branch -M main       # 强制分支重命名main
git push -u origin main  # 推送到远程仓库(若分支为master则替换为master)

# 设置远程仓库(已添加过远程仓库链接)
git remote set-url origin git@github.com:username/repo.git
git remote -v

4.3 分支重命名(可选)

步骤 1:重命名本地分支mastermain

# 确保当前在 master 分支(* master)
git branch -m master main    # 重命名当前分支为 main
  • -m 参数表示移动/重命名分支[citation:5][citation:11]。

步骤 2:推送 main 分支到远程仓库

# 首次推送需建立跟踪关系
git push -u origin main      # 推送本地 main 分支,并设置上游跟踪
  • -u 参数关联远程分支,后续可直接用 git push

步骤 3:删除远程的 master 分支(可选)

若远程不需要 master 分支,避免混淆:

git push origin --delete master  # 删除远程 master 分支

网站公告

今日签到

点亮在社区的每一天
去签到