Logo

新人日誌

首頁關於我部落格

新人日誌

Logo

網站會不定期發佈技術筆記、職場心得相關的內容,歡迎關注本站!

網站
首頁關於我部落格
部落格
分類系列文

© 新人日誌. All rights reserved. 2020-present.

Git Clone:初次複製專案的完整指南

最後更新:2024年12月9日基礎概念

本文為 GitHub 操作指令教學,第 2 篇:

  1. GitHub Issue 與 Git Commit 命名指南
  2. Git Clone:初次複製專案的完整指南 👈 所在位置
  3. 使用 git fetch 與 git pull, 從 GitHub 取得最新檔案內容
  4. Git Ignore:排除檔案的完整指南
  5. 修改 Git 提交訊息與內容的完整指南
  6. GitHub 上傳檔案完整指南
  7. 發佈 Pull Request 與重新提交的完整指南

建議閱讀本文前,先閱讀完 Git 指令基本介紹教學 系列文

當您第一次參與專案,或需要全新複製遠端儲存庫時,git clone 是最常用的指令。

這篇文章將向新手詳細介紹 git clone 的功能、工作方式及其用途與限制,幫助您快速掌握它的操作與應用。


什麼是 git clone?

git clone 是 Git 提供的指令,用於從遠端儲存庫下載整個專案的副本到本地。

它能夠複製所有提交歷史、分支和標籤,並初始化一個新的本地 Git 儲存庫,非常適合在以下情境下使用:

  • 初次參與一個專案。
  • 建立遠端儲存庫的完整備份。

Git Clone 的工作方式

執行 git clone 時,Git 會完成以下三個步驟:

  1. 下載完整的儲存庫內容
    Git 會從遠端儲存庫下載所有的提交歷史、分支與標籤,確保本地副本完整反映遠端儲存庫的狀態。
  2. 初始化本地儲存庫
    在本地建立一個新的 Git 儲存庫,並設置 origin 作為遠端儲存庫的預設名稱。
    origin 是 Git 用來表示遠端儲存庫的代名詞,方便進行同步操作。
  3. 檢出默認分支
    預設情況下,Git 會自動檢出遠端儲存庫的默認分支,通常是 main 或 master。

指令範例

以下是執行 git clone 的基本指令:

git clone https://github.com/your-repo.git

範例輸出:

Cloning into 'your-repo'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (28/28), done.
Receiving objects: 100% (42/42), done.

執行完成後,your-repo 資料夾將出現在本地,包含完整的專案檔案和 Git 資料。


Git Clone 的用途

初次複製專案

當您首次參與一個專案時,git clone 是將遠端儲存庫完整下載到本地的首選指令。執行後,您就能在本地對專案進行編輯與開發。

備份整個儲存庫

如果需要對遠端儲存庫進行備份,git clone 可以完整複製所有提交歷史和分支,為遠端專案建立安全的本地副本。


Git Clone 的限制

雖然 git clone 功能強大,但它也有一些限制,適用場景需要注意:

僅適用於全新儲存庫

git clone 適用於尚未建立本地儲存庫的情況。

如果本地專案已經存在,應該使用以下指令來同步遠端變更:

  • git fetch:僅下載遠端的更新內容,不改變本地分支。
  • git pull:下載並合併遠端更新到本地分支。

不處理基底問題

git clone 與基底同步問題無關。如果本地分支已有自己的提交,遠端分支也有新的提交,git clone 不會協助解決這些衝突。

它會直接建立一個全新的儲存庫,而非同步已有的本地狀態。


小結

git clone 是新手必備的 Git 指令,主要用於下載遠端儲存庫的完整副本並建立本地環境。

  • 適用情境:初次參與專案或建立遠端儲存庫的完整備份。
  • 限制:僅適用於全新儲存庫,無法解決本地與遠端的基底衝突。

掌握 git clone 的使用,能讓您快速上手專案開發,為後續的版本控制操作打下堅實基礎!

目前還沒有留言,成為第一個留言的人吧!

發表留言

留言將在審核後顯示。

基礎概念

目錄

  • 什麼是 git clone?
  • Git Clone 的工作方式
  • 指令範例
  • Git Clone 的用途
  • 初次複製專案
  • 備份整個儲存庫
  • Git Clone 的限制
  • 僅適用於全新儲存庫
  • 不處理基底問題
  • 小結