1. 程式人生 > 其它 >Git推送GitHub

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

從入門到崩潰