Git 入門:版本控制與 Git 是什麼?【你的程式時光機】

更新 發佈閱讀 5 分鐘

Git、Github、Gitlab...... 相信許多程式開發者或多或少都有聽過這些名字,但對於他們是什麼,具體能做什麼,可能不太理解,老實說我以前也是僅會使用而已,並不太懂其中的原理。

直到某天睡醒,我突然很好奇 git 的運作方式,因此決定花些時間來好好來搞懂關於 git 的詳細用法!! 為了強迫自己吸收知識,我會把學習到的知識內容整理成比較趣味的文章~

如果你也想多加了解 git,歡迎繼續往下閱讀~


版本控制系統 Version Control System

正式介紹 git 前,一定要先提到的就是所謂的「版本控制系統」,版本控制系統用來追蹤檔案的變更,讓使用者可以清楚每個階段檔案都變動了些什麼,也可以自由的切換到想回到的版本。如果覺得概念不好理解,可以想像成是古早單機遊戲的存檔點,每玩到一個階段就存一個檔,可以自由地回到存檔點,也不用擔心之後玩一玩發生意外一切都要重頭來。

版控系統又分為集中式與分散式:

集中式版本控制系統

集中式版控系統會將歷史資料儲存在一個中央伺服器,所有想要取得檔案歷史紀錄的人都需要連上,這也代表,如果沒網路,就沒辦法進行版本控制,更危險的是!! 如果這個伺服器壞掉,歷史資料就會遺失。

集中式版本控制系統

集中式版本控制系統

分散式版本控制系統

理解集中式後,分散式的概念應該也很好猜,就是每個參與的開發者都有完整的歷史資料,如果我的資料遺失了,可以從其他的開發者手中取回歷史資料,而且即使在沒有網路的狀態下 git 一樣能在自己的電腦不斷保存歷史,這也是與集中式版控系統最大的差別之一。

分散式版本控制系統

分散式版本控制系統


Git 是甚麼

所以 git 究竟是什麼呢? Git 是在你電腦裡幫你紀錄檔案變化的一種分散式版本控制系統,而 Github 與 Gitlab 是基於 Git 的網頁平台。

在其他文章中看到的「本地儲存庫 local repository」指的就是 Git 在你電腦裡管理的儲存庫,而 Github 與 Gitlab 的儲存庫通常會稱作「遠端儲存庫 remote repository」,所以其實他們是不一樣的東西唷! 千萬不要搞混了~

Git 可以幫我們紀錄檔案每次的變化,也可以隨時回到過去的版本。

聽起來好像很厲害,但什麼時候會需要用到?

舉個🌰

我有個朋友寫了一個功能完整的程式,完成後他又想要在裡面新增內容,為了避免改壞原本的程式碼,不懂版本控制工具是什麼的我朋友,採取了(他想像中)比較安全的做法,就是複製一份一樣的檔案保存,接著再修改新的檔案。後來他成功改好了程式碼,他的第一份程式碼叫做 file1,而新增一點內容的第二份程式碼被他稱作 file1_v2,有時候他也會把這樣的檔案取作 file2 之類的。 接著三個月過去了,我朋友想要把寫好的程式拿出來用,可是他卻忘記了這兩份檔案的差別是什麼,怎麼辦啦QQ

「要是有個好東西可以幫我記錄我修改的內容,我就不需要複製那麼多檔案、不用擔心改壞內容、也不會搞不清楚他們到底差在哪裡!! 如果能讓我隨意地依照心情切回不同的版本就更好了>_<」

是的,這就是 git 的作用,恭喜你成功掌握了 git 的入門的用法了。


總結

透過上述我朋友的小故事,相信大家已經稍微理解 git 的使用情境了,讓我們快速整理一下這篇文章的重點:

  1. 版控系統用來紀錄檔案的變更,分為集中式與分散式。
  2. git 是一種分散式版控系統,而 github 與 gitlab 是基於 git 的網路平台。
  3. git 會記錄檔案的變更資料,誰在什麼時間改了那些內容通通都會記住。
  4. git 也可以讓你快速且自由的切換到儲存過的任何時間點。

其實 git 還有很多厲害的花招,但是對於剛開始接觸的人來說,第一篇先簡單了解概念就好了~ 在後續的文章,我也會慢慢提到更進階的用法!

下一篇文章會帶大家一起安裝 Git,並實際開始操作,打造自己的程式時光機!!

留言
avatar-img
Elaine 粼粼的林林總總
6會員
17內容數
不定期地分享程式/旅遊/學習/閱讀或各式各樣的文章,如果對我的分享有興趣,歡迎來找我玩~
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
Thumbnail
有關 git add, git commit, git push
Thumbnail
有關 git add, git commit, git push
Thumbnail
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
Thumbnail
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
前言   這篇文章將會以 SourceTree 作為媒介,講述 Git 中關於伺服器資料儲存狀態的介紹,並介紹如何建立分支與應用。 資料上傳 | Data Commit   版本控制最簡單的介紹,其實就是把專案的資料上傳雲端,然後進行不同版本的分類,當有需要抓回某一個功能進行展演或比對時,可以從這雲
Thumbnail
前言   這篇文章將會以 SourceTree 作為媒介,講述 Git 中關於伺服器資料儲存狀態的介紹,並介紹如何建立分支與應用。 資料上傳 | Data Commit   版本控制最簡單的介紹,其實就是把專案的資料上傳雲端,然後進行不同版本的分類,當有需要抓回某一個功能進行展演或比對時,可以從這雲
Thumbnail
前言   這篇文章將會介紹伺服器的概覽和倉庫,並介紹兩款客戶端協助使用者。 伺服器 | GitHub   線上軟體原始碼代管服務平台,使用 Git 作為版本控制軟體 GitHub 同時提供付費帳戶和免費帳戶,這兩種帳戶都可以建立公開或私有的代碼倉庫,但付費使用者擁有更多功能。   除了允許個人和組
Thumbnail
前言   這篇文章將會介紹伺服器的概覽和倉庫,並介紹兩款客戶端協助使用者。 伺服器 | GitHub   線上軟體原始碼代管服務平台,使用 Git 作為版本控制軟體 GitHub 同時提供付費帳戶和免費帳戶,這兩種帳戶都可以建立公開或私有的代碼倉庫,但付費使用者擁有更多功能。   除了允許個人和組
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News