2fish 的部落格

歡迎來到我的部落格!這裡是我記錄開發點滴的地方,希望你會喜歡😌

0%

[ 2024 IT 鐵人賽 DAY13 ] GitHub 新手村:版本控制的第一步

今天,我們要來聊聊一個超級重要但常被新手忽視的話題:版本控制。別擔心,它沒有聽起來那麼可怕,反而超級有趣!

房東不給養鸚鵡 - 那就用 Nuxt + Express + MongoDB 30 天寫一個全端鸚鵡專案。

挑戰人生第一次鐵人賽,就來個佛心分享 side project,從專案發想、規劃、設計、資料庫、開發到部署,技術使用 Nuxt 3、Tailwind CSS、Pinia、Axios、Express、MongoDB,製作一個前後端分離的鸚鵡專案,功能主要介紹食物計算機和聯絡我們,希望可以讓更多人瞭解專案的完整流程 ✨

IT 全文章連結

為什麼我們需要版本控制?

想像一下,你正在寫一篇重要的論文。你修改了好幾次,每次都另存新檔:「論文_最終版.docx」、「論文_最終版_真的最終.docx」、「論文_這次真的是最終版了啦.docx」… 聽起來熟悉嗎?

版本控制就是為了解決這個問題而生的。在程式開發中,它就像是一個超強大的時光機,讓你可以:

  1. 追蹤每一次的修改
  2. 輕鬆回到之前的版本
  3. 和其他人協作而不怕檔案搞混

而 GitHub 就是目前最流行的版本控制平台之一。它不只是一個存放程式碼的地方,更是一個龐大的開發者社群。

今天,我們就來學習如何使用 GitHub 進行專案版本控制吧!

1. 註冊 GitHub 帳號

github 官網

2. 在 Repositories 新增儲存庫

https://ithelp.ithome.com.tw/upload/images/20240922/20159686Q1Akv15O8t.pnghttps://ithelp.ithome.com.tw/upload/images/20240922/20159686YzW21h9Rbf.png

3. 在 vscode 打開專案 test-app,確認昨天的 .gitignore 檔是否有建立

1
2
3
4
5
6
7
8
# 不要上傳套件包
node_modules/

# 不要上傳 config.env
config.env

# 不要上傳所有 .env
*.env

https://ithelp.ithome.com.tw/upload/images/20240922/20159686r9XeEzbtp8.png

4. 打開終端機輸入指令將,專案推送到 github 儲存庫

照順序輸入指令:

1
2
3
4
5
6
7
8
9
10
11
# 初始化一個新的 Git 儲存庫。這將在當前目錄中建立一個 .git 資料夾,用於追蹤版本控制。
git init

# 將當前目錄中的所有檔案和資料夾(包括變更、新增、刪除的檔案)添加到暫存區(staging area),準備進行提交。
git add .

# 查看目前的儲存庫狀態。這會顯示哪些檔案已被修改、哪些已經暫存,以及還有哪些檔案未被追蹤。
git status

# 將暫存區中的變更提交到本地儲存庫,並附上提交訊息 update。這次提交會將所有被暫存的檔案變更記錄到 Git 的歷史紀錄中。
git commit -m 'update'

回到 github 剛剛建立的儲存庫查看連接指令 (如圖圈取處)

1
2
3
4
5
6
# 添加一個遠端儲存庫,並將其命名為 origin。這個遠端儲存庫的 URL 是 git@github.com:sunny96087/2024it-test-app.git,通常是你在 GitHub 或其他 Git 託管平台上建立的儲存庫。
git remote add origin git@github.com:sunny96087/2024it-test-app.git
# 將當前分支重命名為 master。-M 表示無論當前分支是什麼名稱,都會強制將它重命名為 master。
git branch -M master
# 將本地的 master 分支推送到名為 origin 的遠端儲存庫,並設定 origin/master 為本地 master 分支的默認上游分支。-u 參數讓後續的 git push 或 git pull 命令在不指定遠端和分支名稱的情況下,也能知道要與哪個遠端分支同步。
git push -u origin master

https://ithelp.ithome.com.tw/upload/images/20240922/201596860W1qR0uNEc.pnghttps://ithelp.ithome.com.tw/upload/images/20240922/20159686BIt0nd068v.png

回到 github 儲存庫頁面,重整後就會看到上傳成功的檔案囉

今日範例 github 連結
https://ithelp.ithome.com.tw/upload/images/20240922/20159686z2lffGyrmt.png

💡 補充說明:
- git init:這就像是在你的專案裡埋下一顆神奇的種子,讓它開始被 Git 追蹤。
- git add .:想像你正在打包行李,這個指令就是把所有東西都塞進行李箱。
- git commit -m 'Initial commit':這就像是在你的行李箱上貼上一個標籤,寫著這些東西是什麼。
- git push:終於要出發啦!這個指令就是把你的行李箱(程式碼)送到機場(GitHub)。

進階技巧:分支管理

在 Git 中,分支就像是平行宇宙。你可以在不同的分支上同時進行不同的實驗,而不會影響到主要的程式碼。

1
2
3
4
5
6
7
8
# 創建新分支
git branch new-feature

# 切換到新分支
git checkout new-feature

# 或者,一步到位
git checkout -b new-featur

當你完成實驗,想要將變更合併回主分支時:

1
2
3
4
5
# 切換回主分支
git checkout main

# 合併變更
git merge new-feature

結語

恭喜你完成了版本控制的入門學習!今天我們學習了以下重要內容:

  1. 在 GitHub 上創建儲存庫
  2. 使用 .gitignore 管理不需上傳的檔案
  3. 運用基本的 Git 指令上傳專案
  4. 簡單介紹了分支管理的概念
    版本控制不僅僅是一個工具,它更是一種開發思維。它讓我們能夠安心地嘗試新想法,因為我們可以隨時回到之前的版本。同時,它也大大提升了團隊協作的效率,讓每個成員都能清楚看到專案的發展歷程。
    當你在深夜 coding 時靈光乍現,想要對專案做大幅度修改,有了 Git 和 GitHub,你就可以放心大膽地實驗。即使遇到問題,也可以輕鬆回溯到先前的穩定版本。
    養成定期 commit 變更的好習慣,為你的程式碼發展過程做好紀錄。隨著時間推移,你會發現 GitHub 上的 contribution graph 逐漸豐富,這不僅是一種成就感的展現,更是你技術成長的見證。
    今天的 Git 學習就到這裡。可以找朋友一起多練習,熟能生巧。
    大家有沒有想要更詳細補充的部分呢?歡迎在下方留言分享喔!我們一起學習、一起成長。明天見啦,掰掰~



希望這篇文章有幫助到你,謝謝你的觀看,若有想看的系列也歡迎告訴我 😉