練習 - 啟動專案

已完成

現在您已花時間了解基本 Git 命令,讓我們繼續在 Git 中建立專案。

在接下來的練習中,您將會開始使用 Git,方法是將簡單的 HTML 檔案新增至工作樹狀結構。 然後您會在目錄中進行一些變更,並了解如何認可變更。

建立並新增 (暫存) 檔案

Git 不會對空白目錄執行太多動作,因此,讓我們將檔案新增至工作樹狀結構,以作為貓相片網站的首頁。

  1. 請確定您的 Cloud Shell 工作階段仍在使用中,而且您位於名為 Cats 的存放庫資料夾中。

  2. 使用 touch 命令來建立名為 index.html 的檔案:

    touch index.html
    

    如果檔案存在,touch 就會更新檔案的上次修改時間。 如果檔案不存在,則 Git 會使用該檔案名稱建立空白檔案。

  3. 現在,使用 git status 取得工作樹狀結構的狀態:

    git status
    

    Git 會透過通知您沒有認可任何內容來進行回應,但是該目錄確實包含一個新的檔案:

    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
        index.html
    
    nothing added to commit but untracked files present (use "git add" to track)
    

    請注意,git status 會提供您接下來可以執行之動作的提示。 Git 可以設定為較不冗長,但在這個階段,越冗長越好。

  4. 使用 git add 新增檔案至 Git 的「索引」,後面接著 git status 以檢查狀態。 不要忘記命令結尾的句號。 這會告知 Git 為目前目錄中已新增或已修改的所有檔案編製索引。

    git add .
    

    現在已暫存認可。 Git 的索引是認可的暫存區域。 這是屬於您要進行「下一個」認可的所有檔案版本清單。

    您可以使用 git add index.html 而不是使用 git add .,因為 index.html 是目錄中唯一的新檔案。 但如果新增了數個檔案,則 git add . 將涵蓋所有檔案。

  5. 最後,再次使用 git status,確定已正確暫存您的變更:

    git status
    
  6. 您應該會看到如下列範例所示的輸出:

    On branch main
    
    Initial commit
    
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
    
        new file:   index.html
    

進行您的第一次認可

現在已經將 index.html 新增至索引,下一步就是認可它。

  1. 使用下列命令來建立認可:

    git commit index.html -m "Create an empty index.html file"
    

    此命令中的 -m 旗標告訴 Git 您正在提供認可訊息。

    有許多不同的方式可以表達認可訊息,但最好是撰寫第一行,讓它指出認可對樹狀結構的作用。 將第一個字母大寫也很常見,並會移除結尾句號以節省空間。 想像訊息的第一行完成以「推送時,此認可將...」開頭的句子

    認可訊息可以有多行。 第一行應該不超過 50 個字元,後面應該接著一個空白行。 後續的行不應超過 72 個字元。 這些並不是硬性要求,並可追溯到打孔卡與「無聲」終端機的時代,但的確使 git log 輸出看起來更好。

  2. Git 會確認您所執行的動作並予以回應:

    [main (root-commit) 87e874c] Create an empty index.html file
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 index.html
    
  3. 繼續執行 git status 命令,並確認工作樹狀結構是乾淨的;亦即,工作樹狀結構不包含尚未認可的變更。

  4. 現在,使用 git log 命令顯示認可的相關資訊:

    git log
    
  5. Git 的回應應該如下列範例所示:

    commit 87e874c4aeeb3f9692ae5d9875235353708d7dd5
    Author: User Name <user-name@contoso.com>
    Date:   Fri Nov 15 20:47:05 2019 +0000
    
    Create an empty index.html file
    

修改 index.html 並認可變更

已建立 index.html 作為網站的首頁,但目前為空白。 下一步是將一些 HTML 新增至其中。 我們會從使用 Cloud Shell 內建編輯器來新增一行 HTML 作為簡單開始。

  1. 在終端機提示字元輸入 code index.html,以在線上編輯器中開啟 index.html

    code index.html
    
  2. 將下列陳述式鍵入或貼到編輯器中:

    <h1>Our Feline Friends</h1>
    
  3. 儲存檔案並關閉線上編輯器。 您可以選取 Cloud Shell 編輯器右上角的省略符號 (...) 或使用快速鍵 (在 Windows 與 Linux 上為 Ctrl+S,在 macOS 上為 Cmd+S)。

  4. 使用 git status 命令檢查工作樹狀結構的狀態:

    git status
    
  5. 您可以看到 Git 知道您所做的變更:

    On branch main
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
        modified:   index.html
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
  6. 現在,認可變更:

    git commit -a -m "Add a heading to index.html"
    

    請注意,這次不會執行 git add 命令來暫存我們的變更。 相反地,我們在 git commit 命令中使用了 -a 旗標。 -a 選項會新增自上次認可之後修改的所有檔案。 它不會新增新的檔案。 若要新增檔案,您仍然需要 git add

  7. 檢查 輸出。 看起來應該如下列範例所示:

    [main 8c9143a] Add a heading to index.html
     1 file changed, 1 insertion(+)
    

index.html 的變更已認可。 現在存放庫中有兩個版本的檔案,但您只會看到其中一個檔案 (目前的檔案)。 使用 Git 的其中一個優點是您可以復原所做的變更,或是回溯時間並查看先前的版本。 稍後將詳細討論這個重要主題。