GitPro
  • Introduction
  • 開始
    • 關於版本控制
    • Git 的簡史
    • Git 基礎要點
    • 安裝Git
    • 初次設定Git
    • 取得說明文件
    • 總結
  • Git 基礎
    • 取得Git儲存庫
    • 提交更新到儲存庫
    • 檢視提交的歷史記錄
    • 復原
    • 與遠端協同工作
    • 標籤
    • 提示和技巧
    • 總結
  • Git 分支
    • 何謂分支
    • 分支的新建與合併
    • 分支的管理
    • 利用分支進行開發的工作流程
    • 遠端分支
    • 分支的衍合
    • 小結
  • 伺服器上的 Git
    • 協議
    • 在伺服器上部署 Git
    • 生成 SSH 公開金鑰
    • 架設伺服器
    • 公共訪問
    • GitWeb
    • Gitosis
    • Gitolite
    • Git 守護進程
    • Git 託管服務
    • 小結
  • 分散式 Git
    • 分散式工作流程
    • 為專案作貢獻
    • 專案的管理
    • 小結
  • Git 工具
    • 選擇修訂版本
    • 互動式暫存
    • 儲藏 (Stashing)
    • 重寫歷史
    • 使用 Git 做 Debug
    • 子模組 (Submodules)
    • 子樹合併
    • 總結
  • Git 客製化
    • Git 配置
    • Git 屬性
    • Git Hooks
    • Git 強制策略實例
    • 總結
  • Git 與其他系統
    • Git 與 Subversion
    • 遷移到 Git
    • 總結
  • Git 內部原理
    • 底層命令 (Plumbing) 和高層命令 (Porcelain)
    • Git 物件
    • Git References
    • Packfiles
    • The Refspec
    • 傳輸協議
    • 維護及資料復原
    • 總結
Powered by GitBook
On this page
  • 在現有目錄初始化儲存庫
  • 複製現有的儲存庫

Was this helpful?

  1. Git 基礎

取得Git儲存庫

讀者可使用兩種主要的方法取得一個Git儲存庫。 第一種是將現有的專案或者目錄匯入Git。 第二種從其它伺服器複製一份已存在的Git儲存庫。

在現有目錄初始化儲存庫

若讀者要開始使用 Git 追蹤現有的專案,只需要進入該專案的目錄並執行:

$ git init

這個命令會建立名為 .git 的子目錄,該目錄包含一個Git儲存庫架構必要的所有檔案。 目前來說,專案內任何檔案都還沒有被追蹤。(關於.git目錄內有些什麼檔案,可參考第九章)

若讀者想要開始對現有的檔案開始做版本控制(除了空的目錄以外),讀者也許應該開始追蹤這些檔案並做第一次的提交。 讀者能以少數的git add命令指定要追蹤的檔案,並將它們提交:

$ git add *.c
$ git add README
$ git commit -m 'initial project version'

這些命令執行完畢大約只需要一分鐘。 現在,讀者已經有個追蹤部份檔案及第一次提交內容的Git儲存庫。

複製現有的儲存庫

若讀者想要取得現有的Git儲存庫的複本(例如:讀者想要散佈的),那需要使用的命令是 git clone。 若讀者熟悉其它版本控制系統,例如:Subversion,讀者應該注意這個命令是複製(clone),而不是取出特定版本(checkout)。 這一點非常重要,Git取得的是大部份伺服器端所有的資料複本。 該專案歷史中所有檔案的所有版本都在讀者執行過 git clone 後拉回來。 事實上,若伺服器的磁碟機損毀,讀者可使用任何一個客戶端的複本還原伺服器為當初取得該複本的狀態(讀者可能會遺失一些僅存於伺服器的攔截程式,不過所有版本的資料都健在),參考第四章取得更多資訊。

讀者可以 git clone [url],複製一個儲存庫。 例如:若讀者想複製名為Grit的Ruby Git程式庫,可以執行下列命令:

$ git clone git://github.com/schacon/grit.git

接下來會有個名為grit的目錄被建立,並在其下初始化名為.git的目錄。 拉下所有存在該儲存庫的所有資料,並取出最新版本為工作複本。 若讀者進入新建立的 grit 目錄,會看到專案的檔案都在這兒,且可使用。 若讀者想畏複製儲存庫到grit以外其它名字的目錄,只需要在下一個參數指定即可:

$ git clone git://github.com/schacon/grit.git mygrit

這個命令做的事大致如同上一個命令,只不過目的目錄名為mygrit。

Git提供很多種協定給讀者使用。 上一個範例採用 git:// 協定,讀者可能會看過 http(s):// 或者 user@server:/path.git 等使用 SSH 傳輸的協定。 在第四章會介紹設定存取伺服器上的 Git 儲存庫的所有可用的選項,以及它們的優點及缺點。

PreviousGit 基礎Next提交更新到儲存庫

Last updated 5 years ago

Was this helpful?