SSH推送项目到github

使用 SSH 将本地项目推送到 GitHub:全流程指南

本文将重点演示如何生成并配置 SSH Key,并使用 SSH 方式将本地项目推送到 GitHub。


一、生成 SSH Key 对

  1. 打开终端,确认 ~/.ssh 目录是否已存在:

    ls ~/.ssh
    
  2. 生成新的 SSH Key(推荐使用 Ed25519 算法):

    ssh-keygen -t ed25519 -C "your_email@example.com"
    
    • 当系统提示输入文件路径时,按 Enter 使用默认路径(~/.ssh/id_ed25519)。
    • 输入并确认一组 安全的密码短语(passphrase),可以为空,但出于安全考虑建议设置。
  3. 查看并复制公钥

    cat ~/.ssh/id_ed25519.pub
    

    复制输出的整行内容(以 ssh-ed25519 开头,以邮箱结尾)。


二、在 GitHub 上添加 SSH 公钥

  1. 登录 GitHub 网站,点击右上角头像 → Settings

  2. 在左侧栏选择 “SSH and GPG keys”

  3. 点击 “New SSH key”,填入:

    • Title:如 Work LaptopHome PC
    • Key:粘贴上一步复制的公钥内容
  4. 点击 “Add SSH key” 完成绑定


三、配置本地仓库的远程地址

  1. 在本地项目根目录,查看已有 remote:

    cd /path/to/your/project
    git remote -v
    
  2. 如果已有 origin 且是 HTTPS 地址,替换为 SSH 地址:

    git remote set-url origin git@github.com:USERNAME/REPO_NAME.git
    
    • USERNAME:你的 GitHub 用户名
    • REPO_NAME:你在 GitHub 上创建的仓库名
  3. 如果尚未添加 origin,可直接添加:

    git remote add origin git@github.com:USERNAME/REPO_NAME.git
    

四、测试 SSH 连接

ssh -T git@github.com
  • 若首次连接,会提示:

    The authenticity of host 'github.com (IP_ADDRESS)' can't be established.
    ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
    Are you sure you want to continue connecting (yes/no)?
    

    输入 yes 并回车。

  • 成功后,会看到类似:

    Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access.
    

五、首次推送代码

  1. 初始化或确认本地仓库

    git init            # 如果尚未初始化
    git add .
    git commit -m "Initial commit"
    
  2. 推送到 GitHub

    git push -u origin master
    
    • -u origin master 将本地 master 分支与远端 origin/master 关联,以后只需 git push 即可。

六、日常使用小贴士

  • 分支命名
    现代 Git 工作流推荐将主分支重命名为 main

    git branch -M main
    git push -u origin main
    
  • 不推送敏感文件
    在项目根目录创建 .gitignore,排除:

    # Node.js
    node_modules/
    .env
    *.log
    
    # Python
    __pycache__/
    *.pyc
    
    # VSCode
    .vscode/
    
  • 多台设备配合
    如果在多台电脑上工作,可为每台设置不同的 SSH Key,并在 GitHub 上分别添加。

通过以上步骤,您即可安全、稳定地使用 SSH 将本地项目推送到 GitHub。

posted @ 2025-06-27 16:57  ZHZCE  阅读(116)  评论(0)    收藏  举报