• <source id="kqqcq"></source>
  • <legend id="kqqcq"></legend>
    首頁
    讀書
    網課

    正文

    如果你只想通過閱讀一章來學習 Git,那么本章將是你的不二選擇。 本章涵蓋了你在使用 Git 完成各種工作時將會用到的各種基本命令。 在學習完本章之后,你應該能夠配置并初始化一個倉庫(repository)、開始或停止跟蹤(track)文件、暫存(stage)或提交(commit)更改。 本章也將向你演示了如何配置 Git 來忽略指定的文件和文件模式、如何迅速而簡單地撤銷錯誤操作、如何瀏覽你的項目的歷史版本以及不同提交(commits)之間的差異、如何向你的遠程倉庫推送(push)以及如何從你的遠程倉庫拉?。╬ull)文件。

    獲取 Git 倉庫

    通常有兩種獲取 Git 項目倉庫的方式:

    1. 將尚未進行版本控制的本地目錄轉換為 Git 倉庫;

    2. 從其它服務器 克隆 一個已存在的 Git 倉庫。

    兩種方式都會在你的本地機器上得到一個工作就緒的 Git 倉庫。

    在已存在目錄中初始化倉庫

    如果你有一個尚未進行版本控制的項目目錄,想要用 Git 來控制它,那么首先需要進入該項目目錄中。 如果你還沒這樣做過,那么不同系統上的做法有些不同:

    在 Linux 上:

    $ cd /home/user/my_project

    在 macOS 上:

    $ cd /Users/user/my_project

    在 Windows 上:

    $ cd /c/user/my_project

    之后執行:

    $ git init

    該命令將創建一個名為 .git 的子目錄,這個子目錄含有你初始化的 Git 倉庫中所有的必須文件,這些文件是 Git 倉庫的骨干。 但是,在這個時候,我們僅僅是做了一個初始化的操作,你的項目里的文件還沒有被跟蹤。 (參見 Git 內部原理 來了解更多關于到底 .git 文件夾中包含了哪些文件的信息。)

    如果在一個已存在文件的文件夾(而非空文件夾)中進行版本控制,你應該開始追蹤這些文件并進行初始提交。 可以通過 git add 命令來指定所需的文件來進行追蹤,然后執行 git commit :

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

    稍后我們再逐一解釋這些指令的行為。 現在,你已經得到了一個存在被追蹤文件與初始提交的 Git 倉庫。

    克隆現有的倉庫

    如果你想獲得一份已經存在了的 Git 倉庫的拷貝,比如說,你想為某個開源項目貢獻自己的一份力,這時就要用到 git clone 命令。 如果你對其它的 VCS 系統(比如說 Subversion)很熟悉,請留心一下你所使用的命令是"clone"而不是"checkout"。 這是 Git 區別于其它版本控制系統的一個重要特性,Git 克隆的是該 Git 倉庫服務器上的幾乎所有數據,而不是僅僅復制完成你的工作所需要文件。 當你執行 git clone 命令的時候,默認配置下遠程 Git 倉庫中的每一個文件的每一個版本都將被拉取下來。 事實上,如果你的服務器的磁盤壞掉了,你通??梢允褂萌魏我粋€克隆下來的用戶端來重建服務器上的倉庫 (雖然可能會丟失某些服務器端的鉤子(hook)設置,但是所有版本的數據仍在,詳見 在服務器上搭建 Git )。

    克隆倉庫的命令是 git clone <url> 。 比如,要克隆 Git 的鏈接庫 libgit2,可以用下面的命令:

    $ git clone https://github.com/libgit2/libgit2

    這會在當前目錄下創建一個名為 “libgit2” 的目錄,并在這個目錄下初始化一個 .git 文件夾, 從遠程倉庫拉取下所有數據放入 .git 文件夾,然后從中讀取最新版本的文件的拷貝。 如果你進入到這個新建的 libgit2 文件夾,你會發現所有的項目文件已經在里面了,準備就緒等待后續的開發和使用。

    如果你想在克隆遠程倉庫的時候,自定義本地倉庫的名字,你可以通過額外的參數指定新的目錄名:

    $ git clone https://github.com/libgit2/libgit2 mylibgit

    這會執行與上一條命令相同的操作,但目標目錄名變為了 mylibgit。

    Git 支持多種數據傳輸協議。 上面的例子使用的是 https:// 協議,不過你也可以使用 git:// 協議或者使用 SSH 傳輸協議,比如 user@server:path/to/repo.git 。 在服務器上搭建 Git 將會介紹所有這些協議在服務器端如何配置使用,以及各種方式之間的利弊。



    上一篇: 沒有了
    下一篇: 沒有了
    圣賢書院
    肉人妻丰满av无码久久不卡_国产成人精品无码片区_国产69精品久久久久9999_国产内射XXXXX
  • <source id="kqqcq"></source>
  • <legend id="kqqcq"></legend>