在 Linux 上使用 Git

歡迎閱讀這份在 Linux 上使用 Git 的初學者指南!本指南旨在幫助您開始使用 Git 和 GitLab,並提供如何使用這些工具的基本了解。

Git 概述

用於製作應用程式的程式碼保存在系統上的資料夾和檔案集合中。 Git 是一個允許我們備份、分享和複製該集合的應用程式。 Git 被稱為版本控制系統,可讓您追蹤程式碼變更並與其他人合作。它是一個在開源社群中廣泛使用的強大工具。 GitLab 是一個基於 Web 的平台,可讓您在線上託管和管理 Git 儲存庫,從而輕鬆與他人協作並追蹤程式碼變更。

什麼是儲存庫?

repo 是儲存庫的縮寫,是一個由 Git 管理的本機資料夾,具有線上副本。 Git Lab 儲存庫是組成專案的文件和資料夾的集合。它可以具有作為同一專案的獨立副本的_分支_。分支是專案的單獨版本,可讓您進行變更而不影響主版本。這對於在不中斷主項目的情況下測試新功能或修復錯誤非常有用。本機儲存庫儲存在硬碟上,遠端儲存庫使用 Git 和 GitLab 線上儲存。

使用 Git

您需要在系統上安裝 Git。在基於Debian的系統上,您可以使用apt命令來安裝軟體包。在本例中,我們使用它來安裝 Git,這是一個提供 Git 版本控制系統的套件。 sudo 指令會授予安裝程式在您的系統上安裝的權限。

 sudo apt install git

訪問 GitLab

在使用 GitLab 之前,您需要透過造訪 GitLab 網站並完成註冊程序來建立帳戶。

在執行 cloningpushingfetching 儲存庫等 Git 操作時,GitLab 需要 SSH 來在用戶端(例如您)和 GitLab 伺服器之間進行安全且經過驗證的通訊。克隆是製作儲存庫的本機副本,取得是將儲存庫中所做的任何變更帶到本機副本,推送是將變更和內容傳送到伺服器儲存庫。 SSH(安全外殼)是一種網路協議,允許安全遠端存取並使用_密鑰對_來驗證和建立安全連接。若要產生 SSH 金鑰對,您可以在終端機中使用 ssh-keygen 命令。

 ssh-keygen

指定檔案名,或按 Enter 鍵使用預設值,也可以指定密碼。在您的主目錄中名為 .ssh 的隱藏資料夾中,如果您使用預設名稱,現在有兩個 id_rsa 檔案。 .pub 檔案是公鑰,您可以使用文字編輯器查看其內容。

登入您的 GitLab 帳戶並導航至您的使用者設定。點選左側導覽功能表中的“SSH 金鑰”。將您的公鑰複製並貼上到「金鑰」欄位中,並為該金鑰指定一個相關的標題,例如 PC@Home。點選“新增金鑰”按鈕儲存金鑰。您的 SSH 公鑰現已新增至您的 GitLab 帳戶,您可以使用它對 GitLab 儲存庫進行驗證。測試您的金鑰和連線是否可以使用 ssh -T 命令來查看來自 GitLab 的歡迎訊息。

 $ ssh -T git@ssh.gitlab.gnome.org
 Welcome to GitLab, @username!

基本 Git 指令現在您已經安裝了 Git 並使用 GitLab 設定了 SSH 金鑰,讓我們來了解一些用於管理儲存庫的基本 Git 命令。這些命令將幫助您處理現有項目,使它們保持最新狀態並安全地進行更改。

1. 複製儲存庫

克隆是建立遠端儲存庫的本機副本的過程。當您想要處理 GitLab 上已存在的專案時,這非常有用。若要複製儲存庫,請使用 git clone 命令,後面接著儲存庫 URL:

git clone https://gitlab.com/username/repository.git

https://gitlab.com/username/repository.git 替換為您要複製的儲存庫的 URL。此命令將在新目錄中建立儲存庫的本機副本。

2. 檢查儲存庫狀態

若要查看本機儲存庫是否有任何變更或查看其目前狀態,請使用:

git status

此命令將顯示儲存庫的本機副本中已修改、新增或刪除的檔案。

3. 遠端儲存庫

遠端儲存庫是線上託管的專案版本,例如在 GitLab 上。它們是儲存您的程式碼並可供其他人存取的中心位置。當您複製專案時,Git 建立的預設遠端儲存庫稱為origin。您可以使用以下命令新增、刪除或列出遠端儲存庫:

  • 列出遙控器:

    若要查看哪些遠端儲存庫連結到本機項目,請使用:

    git remote -v

    此命令列出所有遙控器及其 URL。通常,您會看到此處列出origin

  • 新增遙控器:

    如果您需要新增的遠端儲存庫,可以使用以下命令:

    git remote add <name> <url>

    <name> 替換為遠端名稱,並將 <url> 替換為儲存庫的 URL。

  • 移除遙控器:

    若要刪除遠端儲存庫,請使用:

    git remote remove <name>

    <name> 替換為您要刪除的遙控器的名稱。

4. 從遠端儲存庫取得變更

如果您想查看遠端儲存庫所做的變更而不將其套用到本機副本,請使用:

git fetch origin

此命令從遠端儲存庫取得最新更改,但不會將它們合併到本機分支。這是在決定合併更新之前檢查更新的一種方法。

5. 重設您的本機儲存庫

如果您想重置本機儲存庫以與遠端儲存庫完全匹配,您可以使用「硬」重置。 警告: 這將覆蓋您所做的任何本地更改。

git reset --hard origin/branch-name

branch-name 替換為要重設的分支的名稱。此命令將放棄任何本機變更並使本機儲存庫與遠端儲存庫相同。

6. 查看提交歷史記錄

要查看一段時間內對存儲庫所做的更改列表,請使用:

git log

此命令顯示提交的歷史記錄,包括每次變更的作者、日期和訊息。它對於了解進行了哪些更改以及何時進行了更改很有用。

總結

這些基本的 Git 命令將幫助您使用儲存庫,使本機副本保持最新狀態並確保您可以安全地管理遠端儲存庫。複製儲存庫、檢查本機副本的狀態以及管理遠端儲存庫是使用 Git 管理專案的關鍵技能。