練習 - 啟動專案
現在您已花時間了解基本 Git 命令,讓我們繼續在 Git 中建立專案。
在接下來的練習中,您將會開始使用 Git,方法是將簡單的 HTML 檔案新增至工作樹狀結構。 然後您會在目錄中進行一些變更,並了解如何認可變更。
建立並新增 (暫存) 檔案
Git 不會對空白目錄執行太多動作,因此,讓我們將檔案新增至工作樹狀結構,以作為貓相片網站的首頁。
請確定您的 Cloud Shell 工作階段仍在使用中,而且您位於名為 Cats 的存放庫資料夾中。
使用
touch
命令來建立名為 index.html 的檔案:touch index.html
如果檔案存在,
touch
就會更新檔案的上次修改時間。 如果檔案不存在,則 Git 會使用該檔案名稱建立空白檔案。現在,使用
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 可以設定為較不冗長,但在這個階段,越冗長越好。使用
git add
新增檔案至 Git 的「索引」,後面接著git status
以檢查狀態。 不要忘記命令結尾的句號。 這會告知 Git 為目前目錄中已新增或已修改的所有檔案編製索引。git add .
現在已暫存認可。 Git 的索引是認可的暫存區域。 這是屬於您要進行「下一個」認可的所有檔案版本清單。
您可以使用
git add index.html
而不是使用git add .
,因為 index.html 是目錄中唯一的新檔案。 但如果新增了數個檔案,則git add .
將涵蓋所有檔案。最後,再次使用
git status
,確定已正確暫存您的變更:git status
您應該會看到如下列範例所示的輸出:
On branch main Initial commit Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: index.html
進行您的第一次認可
現在已經將 index.html 新增至索引,下一步就是認可它。
使用下列命令來建立認可:
git commit index.html -m "Create an empty index.html file"
此命令中的
-m
旗標告訴 Git 您正在提供認可訊息。有許多不同的方式可以表達認可訊息,但最好是撰寫第一行,讓它指出認可對樹狀結構的作用。 將第一個字母大寫也很常見,並會移除結尾句號以節省空間。 想像訊息的第一行完成以「推送時,此認可將...」開頭的句子
認可訊息可以有多行。 第一行應該不超過 50 個字元,後面應該接著一個空白行。 後續的行不應超過 72 個字元。 這些並不是硬性要求,並可追溯到打孔卡與「無聲」終端機的時代,但的確使
git log
輸出看起來更好。Git 會確認您所執行的動作並予以回應:
[main (root-commit) 87e874c] Create an empty index.html file 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 index.html
繼續執行
git status
命令,並確認工作樹狀結構是乾淨的;亦即,工作樹狀結構不包含尚未認可的變更。現在,使用
git log
命令顯示認可的相關資訊:git log
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 作為簡單開始。
在終端機提示字元輸入
code index.html
,以在線上編輯器中開啟 index.html:code index.html
將下列陳述式鍵入或貼到編輯器中:
<h1>Our Feline Friends</h1>
儲存檔案並關閉線上編輯器。 您可以選取 Cloud Shell 編輯器右上角的省略符號 (...) 或使用快速鍵 (在 Windows 與 Linux 上為 Ctrl+S,在 macOS 上為 Cmd+S)。
使用
git status
命令檢查工作樹狀結構的狀態:git status
您可以看到 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")
現在,認可變更:
git commit -a -m "Add a heading to index.html"
請注意,這次不會執行
git add
命令來暫存我們的變更。 相反地,我們在git commit
命令中使用了-a
旗標。-a
選項會新增自上次認可之後修改的所有檔案。 它不會新增新的檔案。 若要新增檔案,您仍然需要git add
。檢查 輸出。 看起來應該如下列範例所示:
[main 8c9143a] Add a heading to index.html 1 file changed, 1 insertion(+)
index.html 的變更已認可。 現在存放庫中有兩個版本的檔案,但您只會看到其中一個檔案 (目前的檔案)。 使用 Git 的其中一個優點是您可以復原所做的變更,或是回溯時間並查看先前的版本。 稍後將詳細討論這個重要主題。