SSH & HTTPS

兩種不同與Git平台數據庫連接方式比較

:::info
SSH key 彈性高,必須要是專案管理員才能拉檔案
HTTPS 有網址的皆可以clone下來,需要輸入帳號密碼
:::

SSH

產出一對公鑰及私鑰,私鑰存在本地端,公鑰則上傳到Github或Gitlab些版本控制平台上供辨識,push不需要輸入帳號密碼

使用

  1. 檢查電腦是不是已經有ssh key了,如果有了請跳過步驟二
    cd ~/.ssh
    ls

    取得公鑰
    cat id_rsa.pub

  2. 建立新的SSH key
    ssh-keygen -t rsa -C "你的email地址"

  3. 將SSH key 放到平台上,視不同平台加入
    舉Gitlab為例子

HTTPS

取得網址就可以clone,每次push時需要輸入帳號密碼(可以利用keychain去儲存帳號資料就可以不用每次都輸入),現在改成需要Personal Access Token 來做推送

先用Github來做範例

  1. 取得clone URL

  2. 建立Personal Access Token

  3. push

    加入遠端數據庫

    1
    git remote add origin https://[token]@github.com/[username]/[repository]

    設定遠端設定

    1
    git remote set-url origin https://[token]@github.com/[username]/[repository]

轉換HTTPS->SSH

  1. 檢查目前遠端分支
    git remote -v
  2. 重新設定對應遠端分支
    git remote set-url git@github:userName/repository.git
  3. 檢查目前遠端分支有沒有改成功,再執行一次
    git remote -v
  4. push