遠端同步
- 遠端同步將本地端 Git 推送到指定路徑 (雲端、第三方平台)
- 可以大幅減少資料遺失的風險
- 也能開始邀請其他人一起開發 (多人開發)
註冊雲端平台
- 雲端平台能連動 GUI 建立完整的系統使用
- 最適合的選擇是 GitHub、GitLab (免費、支援度高)
GitHub
GitLab
- GitLab 官方網站
- 最多企業使用的 Git 網站
- 能建立公開、私有專案
- 允許用 GitLab 架設自己的 Git Server (所以企業愛)
- 提供 Google、Github 等快速登入
平台操作
- 除了 Git 原生指令,還有些平台衍生功能
- Github 的
Fork 選項能將別人的專案拷貝到自己帳號
- 由於有安全性設定,因此會需要登入認證
- 在雲端平台發送合併請求 (pull request)
拷貝專案 (fork)
- 用來將專案拷貝到自己的 Github 帳號
- 特色是能建立屬於自己的版本
- 用在對第三方程式客製化個人專用版本的時候
登入認證
- 雲端平台的安全性設定,讓操作需要驗證身份
- 驗證身份可以在雲端平台新增 Token or SSH
Token
- 依據平台不同有許多稱呼名詞
- 是一種有時效性的序號,用來管理不同裝置的登入權限
- 可以在平台的設定頁面找到添加功能
- 添加時可以設定名稱來分辨裝置
- 添加成功後獲得的序號即為登入密碼
Pull Request (PR)
- 這是透過平台發送 Merge 操作的請求
- 此時將由有權限的人核准是否能允許 Merge 操作
新增專案
- 在雲端平台上尋找 New repository
- 新增專案的選項:
- Resository name:專案名稱
- Description:說明描述 (可選)
- 公開 or 私有 (可之後更改)
- 初始化設定:
- 添加 README.md (專案說明檔案)
- 添加 LICENSE (版權)
- 添加 .gitignore
- 都不添加會建立空專案
同步專案
- 同步專案功能大致如下
- 如果本地端還不存在,可以拷貝雲端 Git (
git clone)
- 本地端也能記住使用的遠端 (
git remote)
- 推送新版本到遠端 (
git push)
- 檢查遠端的更新 (
git fetch)
- 拉取遠端的更新到本地 (
git pull)
下載專案 (clone)
- 將遠端的專案下載到本地端
- 可以在平台上看到
程式碼(code) 按鈕,按下之後就會看到路徑連結
- 如果選擇 zip 等方式,會不包含 git 在內
# 將 git 專案拷貝到目前目錄
git clone 路徑
# 添加 --depth 可以指定拉取數量
git clone --depth=1 路徑
檢查更新 (fetch)
# 更新所有遠端分支的狀態
git fetch
# 只抓取 github 倉庫中 main 分支的變更
# github 是添加遠端時設定的代表名稱
git fetch github main
拉取更新 (pull)
# 更新所有遠端分支,並且合併到對應的本地分支
git pull
# 只抓取 github 倉庫中 main 分支的變更,並合併到本地分支
git pull github main
推送更新 (push)
- 將本地的更新推送到遠端
- 使用前先重新 Fetch or Pull 可以避免多人 push 衝突
- 請注意 force 代表暴力的意思,這指令會無視所有警告
# 將本地的 main 分支推送到 github 的 main 分支
git push github main
# 一次性推送所有分支
git push --all
# 強制推送,覆蓋掉遠端的狀態
# 必須謹慎使用,此操作極端危險
# 沒特殊理由時絕對禁止使用
git push --force
- GUI 介面操作:
- 在介面上尋找 Push 按鈕
- 你正常來講只會推一條分支,所以沒有推送全部功能
- 會有 force 選項能勾,但絕不能亂勾