Git上传本地项目到github远程仓库(用ssh key方式)

一、Git安装以及准备git ssh key

1.1 Git安装教程

  1. 简单保姆级教程:Git安装教程(保姆级手把手详细图文) - 一杯清酒邀明月 - 博客园 (cnblogs.com)
  2. 详细教程:Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-CSDN博客

1.2 准备ssh key

生成ssh key 并在配置在远程仓库(github)中

1.2.1 git绑定用户

打开git-bash.exe,在桌面快捷方式/开始菜单/安装目录中

因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识,用户和邮箱为你github注册的账号和邮箱,输入命令

git config --global user.name "your-github-name"
替换your-github-name为你的github用户名
git config --global email.name "your-email@example.com"
替换your-email@example.com为你的 GitHub 注册邮箱

说明:

  • git config –global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

1.2.2 生成ssh key

在 Git Bash 终端输入以下命令生成ssh key(直接按回车三次,每次回车表示分别是.ssh文件存储到默认路径,密钥密码不设置,确认生成密钥)

ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
替换your-email@example.com为你的 GitHub 注册邮箱

打开我的电脑 C:\Users\2021\ .ssh(2021为电脑用户名,每个人不同)里面看到有2个文件,则密钥已经生成,id_rsa.pub就是公钥

image-20250307173757517

用记事本打开id_rsa.pub,复制得到ssh key公钥

image-20250307174350967

1.2.3 为github账号配置ssh key

  1. 切换到github,点头像,找到设置(settings)点开

    image-20250307174859918

  2. 打开ssh keys菜单,点击 ADD SHH key

    image-20250307175336548

  3. 新增密钥

    image-20250307175726923

  4. 这样,github账号的ssh key就配置完成了

    image-20250307175903439

二、上传本地项目到github(已配置好ssh key)

进入你的本地项目目录,右键打开 git bash

image-20250307180827309

2.1 在本地初始化 Git(如果还没初始化)

如果你的本地项目目录下还没有 Git 仓库(.git文件夹),运行git init 在项目中创建一个.git目录,Git开始管理你的代码

git init

2.2 添加Github远程仓库

执行下面的命令,把 GitHub 上的 readBook 仓库添加为远程仓库

git remote add origin git@github.com:xxx.git

说明:

  • origin 是远程仓库的名称,默认使用 origin 来表示主远程仓库。
  • git@github.com:xxxx.git 是你的 GitHub 仓库地址。

你可以用 git remote -v 确认是否添加成功:

git remote -v

如果成功,会看到类似输出:

origin git@github.com:xxx.git (fetch)
origin git@github.com:xxx.git (push)

2.3 添加本地文件并提交

将本地项目代码添加到git暂存区

git add .
git commit -m "初始化项目"

说明:

  • git add . 把所有文件添加到 Git 暂存区。
  • git commit -m "初始化项目" 把代码提交到本地仓库,并添加提交说明【初始化项目】

2.4 推送代码到github

git branch -M main  # 把本地分支重命名为 main(如果你的 GitHub 仓库默认是 main)
git push -u origin main  # 把代码推送到 GitHub

说明:

  • git branch -M main 确保本地分支与 GitHub 默认分支名称匹配(默认 GitHub 使用 main)。
  • git push -u origin main 把代码推送到 GitHub 的 main 分支,并建立关联。

如果未配置ssh key/配置ssh key错误,此处可能出现"Permission denied (publickey)" 错误,重新配置ssh key就可以

2.5 确认github上的代码

推送成功后,刷新github仓库页面,就可以看到本地代码已经上传上去了

2.6 初次提交命令总结

在项目目录中右键打开git bash,运行一系列命令将本地项目代码上传到github远程仓库

步骤 命令
进入本地项目 打开项目文件夹git bash
初始化Git git init
添加远程仓库 git remote add origin git@github.com:xxx.git
检查远程仓库 git remote -v
添加&提交代码 git add . + git commit -m "初始化项目"
推送到github git branch -M main + git push -u origin main

2.7 其它命令总结

2.7.1 修改文件后提交到现有仓库

之前提交过,后面对本地项目xxx进行了修改,需要再提交

步骤 命令
进入本地项目 打开项目文件夹git bash
添加&提交代码 git add xxx + git commit -m "第n次修改"
推送到github git push -u origin main

2.7.2 拉取最新代码到本地

第一种方法:

步骤 命令
进入本地项目 打开项目文件夹git bash
更新远程仓库为最新 git fetch --all
让本地代码和main完全相同 git reset --hard main
pull拉取远程代码 git pull origin main
合并最新代码到本地分支 git merge main

第二种方法:

步骤 命令
进入本地项目 打开项目文件夹git bash
查看当前远程仓库版本 git remote -v
获取最新代码到本地 git fetch origin main
查看版本差异 git log -p main..origin/main
合并最新代码到本地分支 git merge main
git fetch origin main

以上命令的意思是:从远程的origin仓库的main分支下载最新版本代码到本地的main分支

2.7.3 克隆、拉取代码,解决冲突

克隆/拉取远程仓库最新代码到本地,并上传自己的代码

步骤 命令
进入本地空目录 打开目录文件夹git bash
克隆最新代码 git clone git@github.com:xxx.git
拉取最新代码 git pull git@github.com:xxx.git
更新项目代码 将要上传的代码拷贝到当前目录下
添加&提交代码 git add xxx + git commit -m "init-1.0"
推送到github git push -u origin main

2.7.3 git提交错误

错误窗口如下:

img

解决方案:

  1. 关闭自动打开的merge窗口
  2. 在git bash中输入 :wq 后,按回车
:wq
在linux中:强制性写入文件并退出

三、参考资料

  1. 一杯清酒邀明月. Git安装教程(保姆级手把手详细图文)[EB/OL]. [2023-03-17]. https://www.cnblogs.com/ybqjymy/p/17226628.html.
  2. mukes. Git 详细安装教程(详解 Git 安装过程的每一个步骤)[EB/OL]. [2025-02-20]. https://blog.csdn.net/mukes/article/details/115693833.
  3. 梦魇. 手把手教你用git上传项目到GitHub(图文并茂,这一篇就够了),相信你一定能成功!![EB/OL]. [2020-08-21]. https://zhuanlan.zhihu.com/p/193140870.
  4. FannieGirl. 【前端解决方案】已有本地项目如何建立github仓库 [EB/OL]. [2025-03-04]. https://www.cnblogs.com/ifannie/p/18749937.
  5. Natsuagin. Git 本地项目上传 GitHub 全指南(SSH & Token 两种上传方式详细讲解)[EB/OL]. [2025-02-15]. https://blog.csdn.net/Natsuago/article/details/145646982.
  6. x-dragon8899. Git克隆、拉取最新代码、上传代码到远程仓库[EB/OL]. [2023-08-01]. https://blog.csdn.net/m0_45234510/article/details/120181503.
  7. 宝藏女孩的成长日记. GIt——怎样克隆远程仓库到本地(敲详细)[EB/OL]. [2020-09-16]. https://blog.csdn.net/hanhanwanghaha/article/details/108616911.
  8. 努力~努力再努力 ~. git提交代码报错[EB/OL]. [2019-08-09]. https://www.cnblogs.com/xzybk/p/11325066.html.