Git推送GitHub

## 1. Git 生成(公钥和秘钥)

在任意地方,右键点击 git bash here

image

创建 公钥 和 秘钥。

# 下面邮箱换成 自己登录 GitHub 的邮箱
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

image-20210828191149282

2. GitHub 配置公钥

登录上自己的 GitHub 账号,点击 个人头像 > settings > SSH and GPG keys > New SSH key

image-20210828191732550

image-20210828192142315

复制生成的 id_rsa.pub (公钥)文件里的内容。

image-20210828192716797

添加成功后,显示对应的公钥配置信息。

image-20210828193114882

3. Git (ssh-agent) 配置秘钥

打开 Git Bash Here 启动 ssh-agent

# 在后台启动 ssh 代理
$ eval "$(ssh-agent -s)"
> Agent pid 59566

image-20210828194129874

将自己生成的秘钥 id_rsa 添加至 ssh-agent 中。

# 添加 秘钥 到 ssh-agent
$ ssh-add ~/.ssh/id_rsa

image-20210828194828758

测试 SSH 连接上 GitHub

# 输入命令,连接 GitHub
$ ssh -T git@github.com

image-20210828195612359

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

image-20210828202735079

image-20210828202923500

项目 Git 初始化后,绑定 GitHub 地址

image-20210828203409622

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 的

image-20210829143705036

添加文件至本地

# 添加命令 注意:.(小数点表示当前Git项目下的所有文件)
$ git add .

image-20210829143833827

提交并输入提交信息

# 上面只是添加,但未提交至本地,提交数据至本地携带提交信息
$ git commit -m ""

image-20210828205201734

推送远程仓库 (注:SSH 地址可直接成功,而 HTTPS 地址则需要输入登录 GitHub 的账号和密码(token),)

# 推送至远程仓库
$ git push origin master

SSH 地址推送直接成功!

image-20210829145337217

HTTPS 地址推送输入 GitHub 账号和密码(token)

image-20210829162935622

image-20210829163125024

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 仓库

image-20210829145441121

至此,使用 shell 命令模式提交完毕!

后续:更新 GitHub 上数据,依次使用下面命令即可!

# 后期提交更新 GitHub 上的 代码,重复下面命令即可,
$ git add .
$ git commit -m "提交描述"
$ git push origin master

5. Git 推送 GitHub (TortoiseGit)

TortoiseGit 相对于 shell,大大简化,不用命令来操作。

在要上传的项目中,右键 > git 创建版本库(小编装了中文插件),初始化当前项目 Git 本地仓库,相当于 git init 命令

image-20210829170750883

image-20210829171345660

绑定 GitHub 远程仓库 HTTPS

在要提交项目中,右键 > TortoiseGit > 设置 >

image-20210829181433680

Git 配置 HTTPS 地址

image-20210829184715038

绑定 GitHub 远程仓库 SSH

image-20210829193247457

Putty 秘钥生成

image-20210829194351308

点击 Load,找到之前生成的秘钥文件 id_rsa

image-20210829194526772

image-20210829194846206

image-20210829195100171

image-20210829195451890

image-20210829195622668

image-20210829200344104

Git 添加并提交至本地

image-20210829185033466

image-20210829185443897

提交本地 Git后,在推送至远程仓库

image-20210829185651134

image-20210829190050690

image-20210829190135476

查看 GitHub 远程仓库

image-20210829145441121

GitHub (国外)和 Gitee(国内)都是知名的代码代码托管平台,功能大同小异,操作也是相似

所以 Git 推送 Gitee,都是这样的步骤

授人以鱼不如授人以渔,大家可以尝试 Git 推送 Gitee

posted @ 2021-08-29 20:56  陈可儿  阅读(286)  评论(0编辑  收藏  举报