iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
Modern Web

Git 起來!每日一招學起來系列 第 19

Day 19:git clone —— 從雲端複製一個全新的世界

  • 分享至 

  • xImage
  •  

在團隊協作中,開發者通常不會直接從零開始建立一個新專案
而是從遠端儲存庫(remote repository)複製整個專案到自己的電腦。

今天我們要介紹的 git clone,是 Git 裡第一次拿到遠端專案時必備的指令。
想像一下,你要搬家,把整個專案「搬」到你的電腦上,這就是 clone 做的事。


什麼是 git clone

它會把遠端儲存庫完整複製到本地,包括:

  • ✅ 所有的版本歷史(commits)
  • ✅ 所有的分支(branches)
  • ✅ 所有的標籤(tags)
  • .git 目錄(Git 內部資料)

換句話說,git clone 並不是「下載一份檔案」這麼簡單,而是把整個 Git 世界搬到你電腦裡

擁有完整的開發歷史、分支架構與遠端設定,等於完整複製出一個能運作的 Git 專案


基本語法

git clone <repository-url>

這條指令會:

  1. 建立一個與遠端儲存庫同名的資料夾。
  2. 將遠端內容完整下載。
  3. 自動設定 origin 為遠端名稱,並綁定該 URL。

範例 1:從遠端複製專案

git clone https://github.com/octocat/Hello-World.git

執行後會出現一個 Hello-World/ 資料夾,內容包含:

Hello-World/
├── .git/          ← Git 版本資料夾
├── README.md
└── index.js
  • 預設分支(通常是 main
  • 所有版本歷史與標籤

範例 2:指定本地資料夾名稱

git clone https://github.com/octocat/Hello-World.git my-project

結果:

my-project/
├── .git/
├── README.md
└── index.js
  • 會把專案拉到本地 my-project 資料夾

clone 的進階用法

只抓特定分支

如果你只想要某個分支,而不是整個歷史,可以加上:

git clone -b <branch-name> --single-branch <repo-url>

→ 節省時間與空間,特別適合大型專案。


淺層 clone(只抓最近提交)

git clone --depth 1 <repo-url>

→ 僅下載最新一次提交的版本,歷史會被省略。

非常適合只想「看程式碼、不需要完整歷史」的情境。


🔐 使用 SSH 複製

git clone git@github.com:username/project.git

需要先設定 SSH key(可回顧 Day 15)。

優點是設定一次後,推送(push)時不再需要密碼,非常適合長期協作。


clone 與 pull 的關係

指令 用途 時機
git clone 第一次取得整個遠端專案 初次進入專案
git pull 取得遠端最新更新 開發過程中

👉 一般流程是:

  1. git clone:把遠端專案搬回家
  2. git pull:之後定期更新內容

你可以把它想成:

clone 是「第一次下載整個遊戲」
pull 是「下載每日更新檔」


小挑戰 💪

  1. 找一個開源專案(例如 https://github.com/octocat/Hello-World
  2. 使用 git clone 拉到本地
  3. 查看所有分支:git branch -a
  4. 嘗試切換分支:git switch <branch-name>
  5. 修改檔案、commit 一次,體驗自己的 clone 專案如何變成獨立工作環境

小結

  • git clone 是開發者進入專案的第一步
  • 會自動設定遠端 origin
  • 包含完整歷史、分支與設定
  • 進階選項可以只抓特定分支或淺層歷史
  • 平時更新使用 git pull,完成專案同步

把遠端專案搬回家後,就可以開始你與團隊的開發旅程啦!


上一篇
Day 18:git pull —— 雲端動態立即入庫
下一篇
Day 20:git tag —— 重要瞬間的紀錄貼紙
系列文
Git 起來!每日一招學起來30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言