學Git的理由 新手必看指南

文章最後更新於 2024 年 10 月 3 日

一、Git的基本概念

什麼是Git?

定義與歷史背景

Git 是一個分散式版本控制系統(Distributed Version Control System),最初由 Linus Torvalds 在 2005 年開發。它的主要目的是為了支援 Linux 核心的開發,並提供高效、可靠的版本控制。與傳統的版本控制系統相比,Git 具有更好的性能和靈活性。

與其他版本控制系統的比較(如SVN)

特性 Git SVN
版本控制類型 分散式 集中式
儲存方式 每個開發者的本地儲存庫 需要連接到中央伺服器
效能 操作速度快,支援離線工作 依賴網路,速度較慢
分支管理 輕量級的分支操作 分支較重,操作繁瑣

Git的核心功能

版本控制的意義

版本控制的主要目的是追蹤文件的變更歷史,讓開發者能夠隨時查看、回溯或恢復到先前的版本,這對於團隊協作和代碼管理至關重要。

追蹤變更與協作的重要性

Git 允許多位開發者在同一時間內對同一個專案進行修改,而不會干擾彼此的工作。透過 Git,開發者能夠追蹤誰對代碼進行了什麼修改、何時修改的,這對於項目管理和問題追蹤十分有利。

二、Git的安裝與配置

安裝Git

不同操作系統的安裝步驟(Windows、macOS、Linux)

  • Windows

    1. 下載 Git 安裝程序 Git for Windows
    2. 運行安裝程序,根據提示選擇安裝選項。
    3. 完成安裝後,啟動 Git Bash。
  • macOS

    1. 可以使用 Homebrew 安裝:打開終端機並輸入:
      brew install git
    2. 也可以從 Git 官網 下載安裝包,並按照指示安裝。
  • Linux

    1. 對於 Debian/Ubuntu 系統,使用以下命令:
      sudo apt update
      sudo apt install git
    2. 對於 CentOS 系統,使用:
      sudo yum install git

安裝後的基本檢查(使用git --version

安裝完成後,可以在終端機中輸入以下命令來檢查 Git 是否安裝成功:

git --version

若顯示 Git 的版本號,則表示安裝成功。

初始配置

設定使用者名稱與電子郵件

在使用 Git 前,應設置使用者名稱與電子郵件,這些資訊會隨著每次提交而記錄。使用以下命令進行設置:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

配置基本選項(如編碼、顏色顯示)

可以透過以下命令設置 Git 的顏色顯示,讓命令行界面更易於閱讀:

git config --global color.ui auto

三、Git的基本操作

創建與克隆倉庫

如何創建新的Git倉庫

要創建新的 Git 倉庫,可以在終端機中進入希望創建倉庫的目錄,然後使用以下命令:

git init my_project
cd my_project

這會在 my_project 目錄中創建一個新的 Git 倉庫。

使用git clone從遠端倉庫克隆本地副本

要從遠端倉庫克隆一個現有的 Git 倉庫,可以使用:

git clone https://github.com/user/repo.git

這會在本地創建一個名為 repo 的目錄,並將遠端倉庫的內容複製過來。

文件的版本控制

如何添加文件到暫存區(使用git add

在進行任何改動後,需將變更添加至暫存區,使用以下命令:

git add filename

若要添加所有變更的文件,可以使用:

git add .

提交變更(使用git commit

完成變更後,需將其提交到本地倉庫,使用以下命令:

git commit -m "Your commit message"

這樣會記錄當前的變更並附上描述信息。

四、Git的分支管理

什麼是分支?

分支的概念與用途

分支是 Git 的一個核心功能,它允許開發者在不影響主幹的情況下進行開發。每個分支都是一個獨立的開發環境,可以隨時合併回主幹或其他分支。

常見的分支工作流程(如Git Flow)

Git Flow 是一種常見的分支工作流程,通常包括以下分支:

  • 主分支(master/main):穩定版本的代碼。
  • 開發分支(develop):進行日常開發的分支。
  • 特性分支(feature):為特定功能創建的分支。
  • 修復分支(hotfix):用於緊急修復的分支。

基本的分支操作

創建與切換分支(使用git branchgit checkout

要創建新分支,可以使用:

git branch feature-branch

若要切換到該分支:

git checkout feature-branch

結合這兩個操作,可以使用以下命令創建並切換到新分支:

git checkout -b feature-branch

合併分支(使用git merge

當完成特性開發後,可以將其合併回主分支:

git checkout main
git merge feature-branch

這將把 feature-branch 的變更合併到 main 分支。

五、遠端倉庫操作

設定遠端倉庫

如何添加遠端倉庫(使用git remote add

若要將本地倉庫連接到遠端倉庫,可以使用以下命令:

git remote add origin https://github.com/user/repo.git

檢查與顯示遠端倉庫信息

可以使用以下命令檢查已添加的遠端倉庫信息:

git remote -v

推送與拉取操作

使用git push將本地變更推送到遠端

要將本地的變更推送到遠端倉庫,可以使用:

git push origin main

這會將 main 分支的變更推送到遠端倉庫。

使用git pull從遠端獲取更新

當有其他人對遠端倉庫進行了修改,您可以使用以下命令更新本地倉庫:

git pull origin main

六、常見問題與最佳實踐

解決衝突

合併衝突的處理方法

在合併分支時,有時會出現衝突。Git 會提示有衝突的文件,您需要手動編輯這些文件以解決衝突,然後再提交變更。

使用git statusgit diff查找問題

使用以下命令來檢查當前的狀態和變更:

git status

若要查看具體的變更內容,可以使用:

git diff

保持倉庫整潔

如何有效使用.gitignore文件

.gitignore 文件可以告訴 Git 忽略特定的文件和目錄。您可以在倉庫根目錄中創建此文件,並加入要忽略的文件模式。例如:

# 忽略所有的 .log 文件
*.log

# 忽略 node_modules 文件夾
node_modules/

定期清理不必要的分支與提交

定期檢查和刪除不再需要的分支與提交,能夠保持倉庫的整潔。可以使用以下命令刪除本地分支:

git branch -d branch_name

若要強制刪除未合併的分支,使用:

git branch -D branch_name

這篇文章提供了 Git 的基礎知識及使用技巧,幫助新手快速上手並理解版本控制的核心價值。希望能夠激勵更多的開發者使用 Git 進行高效的協作與管理。

關於作者

Carger
Carger
我是Oscar (卡哥),前Yahoo Lead Engineer、高智商同好組織Mensa會員,超過十年的工作經驗,服務過Yahoo關鍵字廣告業務部門、電子商務及搜尋部門,喜歡彈吉他玩音樂,也喜歡投資美股、虛擬貨幣,樂於與人分享交流!