哈囉!歡迎來到這篇「超級簡單」的 Git 與 GitHub 教學!如果您正在使用 Google AI Studio (AItigravity) 進行開發,一定會注意到介面左側那個充滿著 Commit、Push、Pull、Rebase 這些外星單字的 Git 控制面板。對於剛接觸程式開發或版本控制的新手來說,按下這些按鈕就像在拆炸彈一樣恐懼——「按錯了會不會把整個專案刪掉?」、「Sync 和 Push 到底差在哪?」別擔心!這篇超過 3000 字的「從零手把手教學」,將為您把所有生硬的技術名詞轉化為超生活化的比喻(例如購物車、平行宇宙、遊戲存檔)。我們將拋開枯燥的黑底白字終端機,直接對照 AItigravity 絕美的圖形化介面,帶您一步步征服版本控制的世界,成為掌控程式碼時空的魔法師!

 

 

1. 觀念奠基:Git 與 GitHub 到底差在哪?

在開始大肆點擊任何按鈕之前,我們必須先釐清這兩個名詞的差異。相信我,這是 99% 新手剛入門時最常搞混、甚至混為一談的觀念。

Git:你的單機版「遊戲時光機」

想像您正在玩一款超級困難的單機 RPG 遊戲(例如艾爾登法環或薩爾達傳說)。在準備推開大門挑戰最終魔王之前,您一定會做一件事:存檔。為什麼?因為如果打輸了,您可以馬上「讀取進度」,滿血復活重新再來;如果路上幸運撿到神兵利器,您也會趕快再存一個檔以免遺失。Git 就像是程式碼世界的「超級存檔系統」。在開發軟體的過程中,您可能會新增會員登入功能、修改首頁排版的 Bug。如果您哪天手滑不小心把程式碼改壞了,導致整個網頁白屏死機,Git 可以讓您瞬間「讀檔」,回到昨天甚至上個月那個還能完美運作的狀態。更棒的是,它還會詳細記錄這一次次存檔是「誰」存的、「哪年哪月哪日」存的、以及「為什麼」要存這個檔。請牢記:這一切的時光回溯魔法,都只發生在您的「本機端」(也就是您的電腦,或目前的 AItigravity 雲端工作區裡)。

GitHub:你的「線上雲端遊戲大廳」

問題來了,如果您的電腦不幸被咖啡潑到壞掉了,或者是 AItigravity 的伺服器發生意外,那您在本地端用 Git 存的幾百個進度檔不就全部跟著陪葬了嗎?這時候,您會非常渴望有一個「雲端硬碟」可以備份這些存檔。同時,如果您想和世界各地的朋友一起「連線過關」(也就是團隊共同開發同一個網頁專案),你們需要一個公共的地方來上傳、下載並交換彼此的遊戲存檔。GitHub 就是那個專門用來存放 Git 存檔的線上社群與雲端機房。您可以把本地的 Git 存檔推 (Push)上網備份,也可以把大神同事做好的精美首頁存檔拉 (Pull)下來繼續修改。

💡 簡單一句話總結:
Git 是軟體本身(提供時光機功能),GitHub 是網站(雲端存放時光機數據的機房)。在 AItigravity 中,我們就是利用內建強大的 Git 圖形化選單,優雅地把程式碼同步到 GitHub 上!

2. 第一步:整理你的購物車 (Changes 變更管理)

當您在 AItigravity 中修改了 index.htmlstyle.css 等任何一行程式碼,敏銳的 Git 就會立刻察覺到:「嘿!我發現檔案被改動了!」但是,Git 非常有原則,它絕對不會自作主張幫您存檔。它需要您明確地下達指令,告訴它:「我要把『哪些特定的檔案』包裝成這一次的存檔?」這就帶出了 Git 世界中至關重要的三個區域概念:工作目錄(貨架上的商品)、暫存區(準備結帳的購物車)、儲存庫(結帳完畢印在發票上的正式歷史紀錄)。現在,請打開 AItigravity 的 Changes 子選單,我們來看看這幾個實用的按鈕:

Stage All Changes (把變更全部放進購物車)

這個按鈕的白話文翻譯是:「把我剛才修改過的所有檔案,通通丟進購物車,準備去櫃檯結帳!」當您剛寫完一個完美的小功能,並且非常確定今天修改的所有檔案都與這個功能相關時,按下去就對了。為什麼不直接存檔,硬要多一個「暫存區(購物車)」的設計呢?這其實是 Git 的貼心之處。假設您今天一整個早上,同時順手修好了一個底層 Bug,又寫了兩個明天才會用到的新功能。如果在結帳存檔時全部混在一起,未來的同事(或是未來的您)看歷史紀錄會非常痛苦。有了暫存區,您可以先只把「修 Bug 相關的檔案」Stage 起來,結帳存檔一次;接著再把「新功能檔案」Stage 起來,結帳存檔第二次。讓歷史紀錄保持乾淨純粹,是專業工程師的浪漫。

Unstage All Changes (把購物車清空)

白話文:「等等,我反悔了!這些檔案先不要結帳,全部從購物車拿出來放回貨架上。」當您不小心手抖按到了全部 Stage,或者突然發現購物車裡混進了寫著密碼的私密設定檔(這絕對不能上傳!),就可以使用這個功能。請放心,這個動作絕對安全,它一絲一毫都不會刪除您辛苦寫下的任何一行程式碼,只是改變了檔案的「排隊準備存檔狀態」而已。

Discard All Changes (⚠️ 放棄所有變更)

🚨 絕對危險的高危操作警告!
它的白話文是:「我過去這幾個小時寫的程式碼根本是一坨災難!全部扔進焚化爐!讓我直接回到上一次存檔的乾淨狀態!」

當您的邏輯越改越糟、Bug 越修越多,導致整個系統崩潰連開都開不起來,而您心態炸裂完全不想慢慢抓蟲,只想大喊「我要重新來過」時,這顆按鈕就是您的終極重置鍵。但請務必注意:這是一個不可逆的毀滅性操作!一旦點擊,您自從上一次成功存檔(Commit)之後所打的所有字、所有心血,都會瞬間灰飛煙滅,而且**無法靠 Ctrl+Z 復原**。滑鼠游標移過去之前,請務必深呼吸三次,確定自己真的不要這些程式碼了再按。

3. 第二步:拍下歷史的快門 (Commit 提交)

當您的購物車(暫存區)裡已經精挑細選放好了要結帳的檔案,接下來就是要走向櫃檯結帳,並在歷史紀錄上用力蓋下一個印章。為這一個特定的瞬間建立一個永久的歷史節點,這個神聖的動作就叫做 Commit(提交)。在 AItigravity 強大的選單中,我們有非常多種客製化的 Commit 方式:

基礎提交:Commit / Commit Staged / Commit All

點擊基礎的 Commit 之後,畫面會彈出一個輸入框,要求您填寫最重要的「提交訊息 (Commit Message)」。這就像是幫這次的存檔寫上一段備註。最佳實踐:拜託,千萬不要偷懶只寫 "update"、"fix" 或 "123"。幾個月後,當系統出大 Bug 需要找兇手時,沒人會知道 "update" 到底 update 了什麼鬼東西。請具體寫下動作與原因,例如:feat: 新增了用戶登入畫面的小眼睛密碼隱藏按鈕fix: 修正首頁在 iPhone 15 瀏覽時圖片破圖的問題。未來的您,絕對會感謝現在願意多打幾個字的自己。

  • Commit Staged:只針對您放在購物車(暫存區)裡的檔案進行結帳。這是最標準、最乾淨也是最推薦給新手的做法。
  • Commit All:懶人包操作。「不管我剛剛有沒有把東西放進購物車,只要是我今天有去碰過、有改過的所有檔案,直接通通打包幫我結帳!」當您非常確定工作區乾淨無比,沒有任何測試用的垃圾檔案時,這招非常省時間。

吃後悔藥:Undo Last Commit

白話翻譯:「啊!死定了!我剛才按錯了,那筆帳單我不應該結帳的!請幫我退刷!」有時候手速太快,剛按下 Commit 的下一秒,眼角餘光突然瞥到 console.log("測試") 忘記刪除,或是提交訊息把「登入」打成「登出」。這時候不要慌,點擊 Undo Last Commit,它會優雅地把歷史紀錄的指針「退回」上一格,並且把您原本打包好結帳的檔案,全部安然無恙地退回到您的工作區,讓您可以從容修改錯字後,再重新進行一次 Commit。

偷天換日魔法:Commit (Amend) 系列

這是我個人最愛的進階優雅技巧。白話翻譯:「老闆,我剛剛結完帳的塑膠袋裡,好像忘記放這包衛生紙了,可以拜託幫我『偷偷塞進去』剛剛那一筆帳單裡,不要另外開新發票嗎?」假設您剛提交了一個名為「完成完美無瑕的首頁排版」的 Commit,正準備喝杯咖啡慶祝時,主管走過來說:「那個標題顏色差了 1 個色階。」您摸摸鼻子改了色碼(只改了 6 個英數字)。如果這時候您再做一次全新的 Commit,您的 Git 歷史紀錄就會出現一個極度尷尬的 fix: 補改標題顏色,這讓原本的「完美無瑕」看起來像個笑話。此時,您只要改完色碼,選擇 Commit (Amend)(修訂)。Git 就會施展魔法,把您這次微小的變更,直接融合吞噬到「上一次的 Commit」中,神不知鬼不覺!它甚至還會讓您有機會重新修改上一次的提交訊息。善用 Amend,能讓您的 Git 線圖看起來像是個從不犯錯的超級大神。

4. 第三步:與世界接軌 (Pull, Push, Sync)

走到這一步,您已經學會了本機端的所有存檔技巧。但請記住,到目前為止,這些偉大的歷史紀錄都還只存在您的 AItigravity 暫存環境中。如果現在機房斷電,資料一樣會付之一炬。我們必須把它們上傳到 GitHub 上與世界同步。首先,您可以透過 Remote (遠端) 選單中的 Add Remote 來綁定您的 GitHub 儲存庫網址(通常我們習慣將這個主要遠端節點命名為 origin)。設定好傳輸通道後,就來認識資料交換的三大天王吧!

Push (推上去!)

白話翻譯:「把我剛剛在電腦上辛苦做好的所有新存檔,全部推上 GitHub 雲端備份!」當您完成了一個段落的工作,且已經確認 Commit 完畢後,就要執行這個動作。請務必記得一個大原則:只有已經 Commit 結帳過的檔案,才能被 Push。還散落在工作區或購物車裡的半成品,是絕對推不上去的。

Fetch (安全探查情報)

白話翻譯:「幫我去 GitHub 上面看一看,我的外星人同事們昨天半夜有沒有上傳新的程式碼?如果有,先把『資訊目錄』下載下來給我看,但千萬不要立刻跟我的程式碼混在一起。」Fetch 是一個極度安全的操作。它就像是您每天早上出門去打開信箱,您看到了信封,知道了有哪些新資訊進來了,但因為您還沒把信拆開(還沒進行合併),所以絕對不會影響您現在手頭上正在撰寫的程式碼。選單中的 Fetch (Prune) 更是貼心,它會在下載情報的同時,幫您「修剪」清理掉本機端那些在遠端已經被同事刪除的幽靈分支,保持環境的清爽乾淨。

Pull (拉下來並暴力合併!)

白話翻譯:「直接去 GitHub 把最新的程式碼給我下載下來,並且立刻、馬上與我現在本機的程式碼進行合併 (Merge)!」在 Git 底層的邏輯中,其實 Pull = Fetch + Merge。這是團隊合作開發中,每天早上開始敲鍵盤前必須做的第一件事!確保您的程式碼是整個團隊中最新、最同步的狀態。

⚠️ 但請小心:如果您跟同事昨天剛好都在修改 index.html 的第 10 行,而且改的內容不一樣,這時 Pull 下來就會發生每位工程師的惡夢——衝突 (Conflict)。Git 不是 AI 神仙,它無法判斷到底該聽誰的,於是它會暫停合併動作,在檔案裡用奇怪的符號 <<<<<<< HEAD 標記起來,要求您人工介入,親自決定到底要留下同事的心血還是您自己的。

Pull (Rebase) 🌟 代碼潔癖者的高階技巧

一般的 Pull (Merge) 會產生一個「分岔又合起來」的歷史線圖,看起來就像一個菱形,多人協作時整個歷史紀錄會變成一團亂七八糟的毛線球。如果您選擇 Pull (Rebase)(變基),它的邏輯非常霸道且優雅:「把雲端的最新進度下載下來當作新的基底,然後把我剛剛在本機端寫好但還沒 Push 的新存檔,『移花接木』直接貼在雲端最新進度的最上面!」這樣做可以讓整個專案的歷史線保持為一條筆直、乾淨的直線,是進階工程師非常愛用的強大招式。

🚀 懶人神技:Sync (一鍵同步)
如果您自己一個人獨立開發專案,或是團隊分工非常明確,確定絕對不會有人跟您改到同一個檔案。那麼主選單上的 Sync 就是為您設計的。按下去,它會自動幫您先 Pull 拉取雲端更新,然後緊接著 Push 推送您的本機更新。一個按鈕完成所有傳輸,極度無腦且舒適!

5. 第四步:平行宇宙探險 (Branch 分支)

在專業的軟體開發世界中,我們有一條鐵律:「絕對、絕對不要在『正式上線版本 (通常稱為 main 或 master)』上直接開發新功能。」為什麼?想像一下,您正在 main 主線上興致勃勃地開發一個需要寫三天三夜的大型購物車功能。寫到第二天下午,老闆突然衝進來說:「天啊!我們首頁的價格多打了一個零,公司在賠錢了,立刻修復!」完蛋了。您的購物車寫到一半,程式碼到處都是紅字報錯根本跑不動,您要怎麼在這種滿目瘡痍的狀態下,去緊急修復那個價格的 Bug 並且馬上發布?這時候,我們就需要 Branch (分支)。分支的概念,完美等同於漫威電影裡的「平行宇宙」。您可以創造一個平行宇宙 A 繼續慢慢刻您的購物車功能,同時在原來的宇宙 B 快速修復價格 Bug,兩個宇宙互不干擾、各自安好。


創造與穿梭平行宇宙

  • Create Branch...:每次準備動手開發新功能、或是修復特定 Bug 的第一件事,就是透過這個按鈕開闢一個全新乾淨的平行宇宙。命名通常會有規範,例如 feature/shopping-carthotfix/price-error
  • Checkout to... (切換分支):這就是您用來穿越宇宙的任意門!當您建立完分支後,使用 Checkout 切換過去。神奇的事情會發生:您在 A 宇宙寫的未完成程式碼,切換到 B 宇宙時會在畫面中瞬間消失(它其實被 Git 安全地隱藏保存在另一個維度裡了)。您可以在 B 宇宙安心修改首頁價格,修好後發布,再 Checkout 回 A 宇宙,那些寫到一半的購物車程式碼又會原封不動地出現在螢幕上!

宇宙大融合與毀滅

  • Merge... (合併):當您的購物車新功能在平行宇宙裡測試完畢,確保沒有 Bug 且運作完美後。接下來就是要把它「合併」回主宇宙 main。這就像把研發好的黑科技,正式導入現實世界一樣。
  • Delete Branch... (過河拆橋):當分支已經成功 Merge 進入主線,代表它這個平行宇宙的階段性任務就圓滿結束了。為了不讓 Git 歷史圖看起來像一坨盤根錯節的熱帶雨林,請養成隨手刪除 (Delete) 已完成分支的好習慣。留著它只會佔空間並干擾視線。
  • Publish Branch... (發布分支):您在本地創建的新分支,預設只有您自己看得到。如果您希望同事也能進入這個平行宇宙跟您一起寫程式,就必須把它 Publish(發布)到 GitHub 雲端上分享。

6. 第五步:立下里程碑與實用魔法 (Tags & Tools)

恭喜您撐到最後一步!最後我們來看看 AItigravity 選單中幾個關鍵的進階實用魔法。

📍 Tags (標籤:白金殿堂級的封神存檔)

如果 Commit 是一般的日常存檔,那 Tag 就是極度神聖的里程碑。我們通常不會隨便打 Tag。只有在軟體經過重重測試,終於準備好要推向市場,發布正式版本的那個激動人心的瞬間,我們才會使用 Create Tag 建立一個名為 v1.0.0 或是 v2026.5 Release 的標籤。這就像是在漫長的程式碼長河中立下一座石碑。未來如果客戶抱怨 v1.0.0 有某個致命問題,您不需要在茫茫的 Commit 歷史海中肉眼尋找哪一個是發布版本,只要直接尋找 v1.0.0 這個 Tag 一鍵切換回去,就能瞬間回到當時的歷史瞬間來除錯。**提醒:**普通的 Push 按鈕不會把標籤推上雲端,您必須在選單明確點擊 Push Tags,GitHub 專案首頁右側才會亮起耀眼的 Release 版本標籤!

🎩 Stash (救命的四次元口袋)

雖然 Stash 只是快捷選單裡不起眼的一個字,但它絕對是救命神技!想像一個超真實場景:您正在 feature-A 分支寫一段極其複雜的演算法,寫到一半卡住了。這時老闆奪命連環 Call 要求您立刻切回 main 分支修 Bug。但是!您現在的程式碼亂七八糟、到處都報紅字,根本無法執行 Commit;Git 也很聰明,它為了保護您的半成品,絕對**不允許**您在工作區還有未儲存變更的情況下隨便切換分支。陷入死胡同了嗎?

不!此時請按下 Stash。它就像是哆啦 A 夢的「四次元口袋」。按下後,Git 會把您目前工作目錄中所有亂七八糟、還沒寫完也沒 Commit 的變更,全部瞬間吸進一個隱形的異空間口袋裡藏起來。此時,您的螢幕會「唰」地一聲變回完全乾淨的狀態!您現在可以毫無顧忌地切換去 main 分支修 Bug、Commit、發布。等天下太平後,切換回您的 feature-A 分支,把剛剛藏在口袋裡的半成品拿出來(通常稱為 Pop StashApply Stash),深吸一口氣,接續昨天的思路繼續奮戰。這簡直就是魔法對吧!

🌳 視覺與除錯小工具

最後,如果您一次修改了不同資料夾下的幾十個檔案,原本平面的檔案列表可能會長到滑不完。點擊 View as Tree (以樹狀顯示),檔案就會按照最直覺的資料夾階層結構排好,讓您一目瞭然知道自己改了哪些區塊的東西。另外,如果您按了按鈕但 Git 似乎沒有反應,或是亮起了看不懂的紅燈,請務必點擊底部的 Show Git Output。AItigravity 這層漂亮皮囊的背後,其實也是在幫您自動敲打終端機指令。打開 Output 面板,您就能看到最底層、最真實的錯誤訊息(例如是不是權限不足、是不是帳號沒登入)。把這段最真實的訊息複製去 Google,通常五分鐘內就能找到大神留下的解法。


這篇文章帶著您從觀念到實作,徹底走了一遍 AItigravity 的 Git 視覺化功能。雖然一開始看到滿螢幕的英文按鈕一定會感到眼花撩亂,但只要您掌握了「Pull 拉取更新 ➡️ Branch 開分支 ➡️ Stage 購物車暫存 ➡️ Commit 存檔 ➡️ Push 推送備份 ➡️ Merge 合併」這個黃金開發循環,並且不要隨便亂按 Discard All Changes,Git 的世界對您來說就是絕對安全的遊樂場。祝福您未來的 Coding 之路,每一行代碼都優雅,每一次 Push 都如絲般順滑,永不報錯!

⚠️ 溫馨免責聲明:
本教學文章旨在提供 Google AI Studio (AItigravity) 與 Git/GitHub 整合工具的圖形化介面操作指南。文章中提及之「丟棄變更 (Discard All Changes)」等操作具備檔案不可逆轉與永久遺失之高度風險。執行任何變更前,請務必再三確認您的工作狀態或進行實體備份。本文章與平台對於任何因個人操作失誤、認知落差所導致的程式碼遺失、覆蓋或專案損毀概不負責。建議新手於學習初期,可先在 GitHub 建立無關緊要的「測試用儲存庫 (Test Repository)」進行大膽的操作練習。
創作者介紹
創作者 小黃老師嘿技術 的頭像
小黃老師

小黃老師嘿技術

小黃老師 發表在 痞客邦 留言(0) 人氣( 89 )