今天終於就是鐵人賽最後一天了! 回想起來有點感動欸,這是我第二次參加鐵人賽,卻是我第一次要完成挑戰。去年因為突然家裡網路掛掉,晚了三秒上傳就失去了完賽的機會,今年就順順利利的每天堅持,終於走到今天了。
還記得一開始我對 Git的認識其實不多,只知道 GitHub可以用來放程式碼也是開源網站,但不太了解 Git 的版本控制功能,也不知道 Branch、Merge、Pull Request 這些功能實際上要怎麼使用。但經過這30天的學習,終於從建立 Repository 一步一步到完成專案整理、版本控制、分支操作,還有GitHub 作品集的建立。
所以今天就不再介紹新的 Git 指令,來大概回顧這 30 天學到的內容吧,雖然這三十天沒有學得很深入但也把觀念摸清楚了,這30天是我對版本控制到 GitHub 作品集的一大進步喔!
這三十天我都是用以前的小組專案eyes_prj來練習Git。因為是為了作業而做的專案,教完就丟在電腦某個角落了,所以這一個月除了學習 Git 指令,也順便重新整理了專案的資料夾、README 和資料庫相關檔案。
我把這 30 天的學習大致分成四個階段:
從一開始認識 Git 和 GitHub 的差別到建立第一個 Repository,接著學習 .gitignore、Staging Area、git add 和 git commit 等基本指令與操作。
開始把以前的 eyes_prj 專案重新整理,包含專案資料夾、README、相關檔案和 Git 紀錄了解了那些檔案室不必放上Git的,最後也將專案整理完上傳到 GitHub。
學習了 Branch、Merge 和 Merge Conflict,實際操作 git clone、git fetch 和 git pull,了解不同電腦之間要如何透過 GitHub 同步專案,也對我的大三專題分有幫助,整個專業了起來。
最後開始接觸 Pull Request 和 Code Review,建立了自己的 GitHub Profile README,練習釘選 Repository,讓我的GitHub 個人首頁更像一份作品集不是之前那個荒地了。
學習了30 天的 Git,最後就來整理一下這次學過的常用指令吧!雖然現在還沒辦法把每個指令都背起來,但至少以後忘記的時候可以回來翻這篇文章讓自己的記憶重回現在。
| 指令 | 功能 |
|---|---|
git init |
在目前資料夾建立 Git Repository |
git status |
查看目前檔案與 Git 的狀態 |
git add . |
將目前目錄及子目錄中的修改加入暫存區 |
git add 檔案名稱 |
將指定檔案加入暫存區 |
git commit -m "訊息" |
建立 Commit,記錄暫存區的修改 |
git log --oneline |
簡短查看 Commit 紀錄 |
git diff |
查看尚未暫存的修改 |
git diff --staged |
查看已加入暫存區的修改 |
| 指令 | 功能 |
|---|---|
git branch |
查看本機分支 |
git branch 分支名稱 |
建立新分支 |
git switch 分支名稱 |
切換到指定分支 |
git switch -c 分支名稱 |
建立並切換到新分支 |
git merge 分支名稱 |
將指定分支合併到目前分支 |
git branch -d 分支名稱 |
刪除已完成合併的本機分支 |
| 指令 | 功能 |
|---|---|
git remote -v |
查看目前設定的遠端 Repository |
git remote add origin 網址 |
新增名為 origin 的遠端 Repository |
git push -u origin 分支名稱 |
推送分支並設定上游追蹤關係 |
git push |
將本機 Commit 推送到遠端 |
git clone 網址 |
將遠端 Repository 複製到本機 |
git fetch origin |
取得遠端最新的分支與 Commit 資訊 |
git pull |
取得遠端更新並整合到目前分支 |
git diff HEAD origin/分支名稱 |
比較目前版本與遠端追蹤分支的差異 |
這些指令在我前半個月前還很生疏,都要問一下AI,然後常常搞混指令,但因為後續幾天的操作,我漸漸地可以用這些指令去跟Git還有專案對話了。
哇這是我鐵人賽的最後一個段落了,跟去年相比我最大的改變就是比較不那麼常壓秒了吧,在打文章時心情也蠻輕鬆的,但就是實作跟學習對我來說還可以,但要把他打成文章就要思考很久,然後就會去看別人的文章讚嘆:怎麼那麼會比喻!
所以我的文章有時候很混亂請見諒,希望隨著我的參加次數變多我也可以打出很好很有內容的文章。
雖然這 30 天還不足以讓我精通 Git,GitHub 作品集也還有很多可以改進的地方,但我電腦裡的專案會很開心我終於要整理他們了,之後也希望可以把這次學到的版本控制觀念運用在大三專題上,並且繼續整理其他以前做過的專案。
謝謝這30天陪伴我的AI
謝謝我居然可以堅持30天沒忘記
當然最感謝的是大家點進來看!