Git上传本地项目到github远程仓库(用ssh key方式)
- 技术日志
- 2025-04-02
- 138热度
- 0评论
一、Git安装以及准备git ssh key
1.1 Git安装教程
- 简单保姆级教程:Git安装教程(保姆级手把手详细图文) - 一杯清酒邀明月 - 博客园 (cnblogs.com)
- 详细教程: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就是公钥
用记事本打开id_rsa.pub,复制得到ssh key公钥
1.2.3 为github账号配置ssh key
- 切换到github,点头像,找到设置(settings)点开
- 打开ssh keys菜单,点击 ADD SHH key
- 新增密钥
- 这样,github账号的ssh key就配置完成了
二、上传本地项目到github(已配置好ssh key)
进入你的本地项目目录,右键打开 git bash
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提交错误
错误窗口如下:
解决方案:
- 关闭自动打开的merge窗口
- 在git bash中输入 :wq 后,按回车
:wq
在linux中:强制性写入文件并退出
三、参考资料
- 一杯清酒邀明月. Git安装教程(保姆级手把手详细图文)[EB/OL]. [2023-03-17]. https://www.cnblogs.com/ybqjymy/p/17226628.html.
- mukes. Git 详细安装教程(详解 Git 安装过程的每一个步骤)[EB/OL]. [2025-02-20]. https://blog.csdn.net/mukes/article/details/115693833.
- 梦魇. 手把手教你用git上传项目到GitHub(图文并茂,这一篇就够了),相信你一定能成功!![EB/OL]. [2020-08-21]. https://zhuanlan.zhihu.com/p/193140870.
- FannieGirl. 【前端解决方案】已有本地项目如何建立github仓库 [EB/OL]. [2025-03-04]. https://www.cnblogs.com/ifannie/p/18749937.
- Natsuagin. Git 本地项目上传 GitHub 全指南(SSH & Token 两种上传方式详细讲解)[EB/OL]. [2025-02-15]. https://blog.csdn.net/Natsuago/article/details/145646982.
- x-dragon8899. Git克隆、拉取最新代码、上传代码到远程仓库[EB/OL]. [2023-08-01]. https://blog.csdn.net/m0_45234510/article/details/120181503.
- 宝藏女孩的成长日记. GIt——怎样克隆远程仓库到本地(敲详细)[EB/OL]. [2020-09-16]. https://blog.csdn.net/hanhanwanghaha/article/details/108616911.
- 努力~努力再努力 ~. git提交代码报错[EB/OL]. [2019-08-09]. https://www.cnblogs.com/xzybk/p/11325066.html.