Git推送GitHub
1. Git 生成(公鑰和祕鑰)
在任意地方,右鍵點選 git bash here 。
建立 公鑰 和 祕鑰。
# 下面郵箱換成 自己登入 GitHub 的郵箱
$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
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 [email protected]
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 新地址 # 後期提交更新 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)即可
# 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
# <your_token> 替換成 自己生成的token
# <USERNAME> 替換成 自己的GitHub名
# <REPO> 替換成 自己的倉庫名
# 注:不要忽略了 @ 字元
# 例:git remote add origin https://[email protected]/chuai9/interview.git
$ git remote add origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
https://[email protected]/chuai9/interview.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