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