Git推送GitHub
## 1. Git 生成(公钥和秘钥)
在任意地方,右键点击 git bash here 。
创建 公钥 和 秘钥。
# 下面邮箱换成 自己登录 GitHub 的邮箱
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
2. GitHub 配置公钥
登录上自己的 GitHub 账号,点击 个人头像 > settings > SSH and GPG keys > New SSH key。
复制生成的 id_rsa.pub (公钥)文件里的内容。
添加成功后,显示对应的公钥配置信息。
3. Git (ssh-agent) 配置秘钥
打开 Git Bash Here 启动 ssh-agent。
# 在后台启动 ssh 代理
$ eval "$(ssh-agent -s)"
> Agent pid 59566
将自己生成的秘钥 id_rsa 添加至 ssh-agent 中。
# 添加 秘钥 到 ssh-agent
$ ssh-add ~/.ssh/id_rsa
测试 SSH 连接上 GitHub
# 输入命令,连接 GitHub
$ ssh -T git@github.com
4. Git 推送 GitHub(shell)
相关命令
# GitHub 仓库克隆下来
$ git clone 地址
# 本地 Git 仓库,初始化
$ git init
# 初次关联绑定 Git 远程仓库,origin 后面换成自己的GitHub地址
# 注:origin 只是创建绑定的远程仓库地址名,你可以任意定义成其他名称
$ git remote add origin 地址
# 注意:绑定远程仓库地址(手误输错),可以使用下面命令
# 删除远程仓库绑定,这里的 origin 是你上面添加绑定名称
$ git remote rm origin
# 直接修改 origin 的 远程仓库地址
$ git remote origin set-url 新地址
# 远程拉取代码合并本地代码
$ git pull origin master --allow-unrelated-histories
# 后期提交更新 GitHub 上的 代码,重复下面命令即可,
$ git add .
$ git commit -m "提交描述"
$ git push origin master
在项目文件中,右键 Git Bash Here 输入 git init 初始化 Git
项目 Git 初始化后,绑定 GitHub 地址
shell 走一遍流程
绑定远程仓库(HTTPS/SSH)
注意:绑定 SSH 地址,后面一系列操作都会很顺利,但是绑定 HTTPS 地址,会让你输入登录 GitHub 用户名和密码(注意:这里的密码,在 2021/8/13 之后就不能使用原来的登录密码,需要使用 token 令牌当做密码,token 的生成)
绑定 HTTPS 地址,获取 token 操作(绑定 SSH 无视这步操作)
登录上自己的 GitHub 官网,点击 个人信息 > settings > Developer settings > Personal access tokens > Generate new token 。
配置:
Note:自定义 token 名称
Expiration:token 有效日期
Select scopes::选择权限(当前生成的 token 能做什么)
注意:生成之后一定要保存下来,后期刷新页面时,就不会存在 token 的
添加文件至本地
# 添加命令 注意:.(小数点表示当前Git项目下的所有文件)
$ git add .
提交并输入提交信息
# 上面只是添加,但未提交至本地,提交数据至本地携带提交信息
$ git commit -m ""
推送远程仓库 (注:SSH 地址可直接成功,而 HTTPS 地址则需要输入登录 GitHub 的账号和密码(token),)
# 推送至远程仓库
$ git push origin master
SSH 地址推送直接成功!
HTTPS 地址推送输入 GitHub 账号和密码(token)
HTTPS 地址推送成功!
问题:每次推送都需要输入用户名和密码比较麻烦
解决方案:在绑定 HTTPS 地址的时候,加上密码(token)即可,
# HTTPS 地址中携带了用户名,所有我们直接夹上密码(token)即可
# <your_token> 替换成 自己生成的token
# <USERNAME> 替换成 自己的GitHub名
# <REPO> 替换成 自己的仓库名
# 注:不要忽略了 @ 字符
# 例:git remote add origin https://xB381qolt184FAvOk@github.com/chuai9/interview.git
$ git remote add origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
# 如果以前添加绑定过,直接修改即可
# 注:origin 是 HTTPS 地址的关键字
$ git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
查看 GitHub 仓库
至此,使用 shell 命令模式提交完毕!
后续:更新 GitHub 上数据,依次使用下面命令即可!
# 后期提交更新 GitHub 上的 代码,重复下面命令即可,
$ git add .
$ git commit -m "提交描述"
$ git push origin master
5. Git 推送 GitHub (TortoiseGit)
TortoiseGit 相对于 shell,大大简化,不用命令来操作。
在要上传的项目中,右键 > git 创建版本库(小编装了中文插件),初始化当前项目 Git 本地仓库,相当于 git init 命令
绑定 GitHub 远程仓库 HTTPS
在要提交项目中,右键 > TortoiseGit > 设置 >
Git 配置 HTTPS 地址
绑定 GitHub 远程仓库 SSH
Putty 秘钥生成
点击 Load,找到之前生成的秘钥文件 id_rsa
Git 添加并提交至本地
提交本地 Git后,在推送至远程仓库
查看 GitHub 远程仓库
GitHub (国外)和 Gitee(国内)都是知名的代码代码托管平台,功能大同小异,操作也是相似
所以 Git 推送 Gitee,都是这样的步骤
授人以鱼不如授人以渔,大家可以尝试 Git 推送 Gitee