你想將所在地區設為 美國 並顯示 繁體中文 嗎?
更新設定關閉
關閉
登入/註冊
Git - 軟體工程師必備的版本管理時光機
0 seconds of 2 minutes, 40 secondsVolume 0%
Press shift question mark to access a list of keyboard shortcuts
鍵盤快捷鍵
播放/暫停空白鍵
音量增加↑
音量減少↓
快進 5 秒→
倒退 5 秒←
開啟/關閉字幕c
全螢幕/離開全螢幕f
靜音/取消靜音m
Decrease Caption Size-
Increase Caption Size+ or =
跳轉至%0-9
00:00
00:00
02:40
 
王慕羣 Kewang

Git - 軟體工程師必備的版本管理時光機

版本管理是現今軟體開發大家都一定要會的技能,而 Git 更是目前的版本管理主流。 這門課會教你如何從最簡單的個人版本管理到多人版本管理,以及共同開發時如何有效率的管理程式碼。
Hahow AI 學習升級
83.2 k 的人也在觀看
4.7
(27)

關於課程

課程包含

包含 6 章 33 單元、3 項作業

課程時長

4 時 37 分鐘

課程總人數

317 位同學

觀看限制

不限觀看次數,還會附贈完課證書

學習升級

Hahow AI 學習助教
無需額外付費
即時問答、重點整理、測驗理解,讓知識派上用場

課程內容

git 課程封面標題為「軟體工程師必備的版本管理時光機」,背景呈現多組程式碼與開發介面,傳達軟體工程中的版本管理主題。

版本管理是現今軟體開發大家都一定要會的技能,而 Git 更是目前的版本管理主流。
這門課會教你如何從最簡單的個人版本管理,一直到多人版本管理,以及共同開發時如何有效率的管理程式碼。

畫面中央以大型白色字體呈現「課程簡介」,背景為深色、帶有模糊程式碼文字的科技風格影像,作為課程頁面的段落標題與視覺裝飾。

第一章節 - 工欲善其事,必先利其器

深色程式碼背景上的章節標題:「第一部分:工欲善其事,必先利其器」,以白色大字呈現,作為課程內容的開場段落。

這個單元會先從了解 Git 開始,除了教大家如何在各種作業系統安裝 Git 之外,也會讓大家了解 Git 的底層是如何運作,了解運作原理能在學習 Git 指令時,更容易知道如何理解指令。

Git 學習流程的前兩步:先安裝 Git,再了解 Git 的資料模型,畫面以下載圖示、Git 標誌與分支結構圖示呈現。

1. 安裝 Git

2. 了解 Git 的資料模型

第二章節 - 要刮別人的鬍子前,先把自己的刮乾淨

章節標題「第二部分:要刮別人的鬍子前,先把自己的刮乾淨」,搭配深色程式碼背景與白色直線的視覺設計。

在剛開始學習版本管理時,要先學習管理自己電腦的資料。這個單元會讓你學到如何開始利用 Git 管理你的資料,包括新增、修改、刪除,都可以藉由 Git 幫你紀錄每一個步驟,絕對不會遺漏。像是紀錄用的 init, add, commit 指令,以及查看 Git 資料的 status, log, show, gitk 指令,都會完整的教大家如何運用。

Git 操作教學分為兩個步驟:先使用 config、init、add、commit、status 初始化 Git 並交由 Git 保管資料,再透過 log、show、gitk 查看 Git 中的操作內容。

從這個單元開始也會有一些小作業,目的是為了讓大家更熟悉 Git 操作。
1. 初始化 Git 並將資料交給 Git 保管 (config, init, add, commit, status)

2. 看看你在 Git 上操作的內容 (log, show, gitk)

第三章節 - 狡兔有三窟

第三部分:「狡兔有三窟」章節標題,以白色大字呈現於深色漸層背景,周圍搭配模糊的程式碼文字與光影裝飾。

黑色背景上,GitHub 標誌以深色剪影呈現,左側是頭戴貓耳、身形如章魚的 Octocat 吉祥物,右側為大型 GitHub 字樣,整體採黑灰色調。

GitHub 是全世界軟體工程師的寶庫,可以使用 Git 指令將資料完整上傳到 GitHub!

身為一個軟體工程師一定要有一個 GitHub 帳號。這裡會教你如何將自己電腦內已經使用 Git 管理的資料,上傳到 GitHub 或 GitLab。GitHub 除了可以拿來備份以外,也可以與其他工程師分享你的資料並且協作,使用 Git 如果沒用過 GitHub 的話,功效可是會大打折扣喔!

1. 在 GitHub 建立專案 (GitHub, GitLab)

2. 從 GitHub 下載專案 (clone, pull, fetch, remote)

3. 上傳專案到 GitHub (push)

第四章節 - 開枝散葉

章節標題為「第四部分:開枝散葉」,以深色程式碼背景搭配醒目的白色文字呈現。

Git 與其他版本管理軟體最大的不同,就是在於建立分支非常容易,這個單元會介紹什麼是分支,以及如何將工作拆分成不同的分支,最後將不同分支合併起來。有了分支,Git 就可以與許多的開發流程串接起來,是個非常重要的功能。而操作分支時最常遇到的問題不外乎就是分支衝突,這裡也會教大家如何解決衝突喔!

1. 將工作拆分成可同時進行的分支 (branch, checkout)

2. 合併已經完成的分支-1 (merge)

3. 重新設定目前分支的起點 (reset, reflog)

4. 合併已經完成的分支-2 (rebase)

5. 解決遇到衝突的合併

第五章節 - 循規蹈矩

第五部分:循規蹈矩,白色直線與大標題置於深色程式碼背景上,呈現科技感的段落章節分隔設計,畫面未提供其他可辨識資訊。

軟體版本控制分支流程圖,展示 feature branches、develop、release branches、hotfixes 與 master 的分支合併流程,並標示 Tag 0.1、0.2、1.0 及 hotfix 0.2。

在與團隊使用 Git 的時候,若是大家各自建立不同的分支,但又沒有一個準則的話,成員之間就無法了解不同分支的作用。所以發展了許多流行的工作流程,比如 GitFlow、GitHub Flow。

版本控制課程主題涵蓋三種存取模型(dispersed、collocated、shared)、主線開發與主線開發搭配分支開發,並比較一功能一分支、GitHub Flow、GitLab Flow、gitworkflows、Git Flow 與 FBI flow。

這個單元會分享這些工作流程的優缺點,以及該如何選擇適合你的工作流程。
1. 三種存取模型 (dispersed, collocated, shared)

2. 主線開發

3. 主線搭配分支開發

4. 一功能一分支

5. GitHub Flow

6. GitLab Flow

7. gitworkflows

8. GitFlow

第六章節 - 其他

從 Git 可以串接出許多與工作管理有關的軟體,比如 GitLab,這個單元也會分享我在使用 GitLab 的實戰經驗分享。

1. GitLab 使用經驗

小技巧單元:穿插在各個章節中!

在這些單元裡面也會穿插著許多使用 Git 的小技巧,像是如何列出檔案的每一行修改歷程、如何與版號管理結合等,都是實際在工作時會遇到的一些問題,這些小技巧絕對可以讓你在工作上事半功倍喔!

1. 列出檔案的每行修改記錄 (blame)

2. 使用 Markdown 撰寫專案介紹文件 README

3. 將想要的 commit 獨立插入 (cherry-pick)

4. 暫存還不想放到正式記錄的工作 (stash)

5. 取消曾經做過的工作 (revert, reset, checkout)

6. 找出這個變更發生的起始 commit (bisect)

7. 忽略不想被 Git 保管的檔案 (gitignore)

8. 改變歷史 (rebase)

解鎖單元規劃!

募資期間門檻達到 150%,解鎖「其他」中新的單元!
  • 其他 - 使用 git-extras 增強 Git 的使用體驗
當募資超過 150% 之後,會在「其他」章節加開「使用 git-extras 增強 Git 的使用體驗」,git-extras 增加了許多好用的指令,讓你無論是在操作分支或是想知道有多少人跟你一起協作,都是非常好用的工具!預計於開課後釋出。
募資期間門檻達到 250%,解鎖「循規蹈矩」中新的單元!
  • 循規蹈矩 - FBI flow
除了一般大家常聽到的各種工作流程之外,FBI (Frontend-Backend integration) flow 是老師自己執行超過三年,完全可行的工作流程,當募資超過 250% 就會加開這個如何前後端整合的工作流程,無論你是哪一類型的工程師,這個絕對不可以錯過!預計於開課後釋出。
募資期間門檻達到 500%,再加碼解鎖 Git 與其他軟體整合使用的二個單元!
  • 其他 - Redmine 使用經驗
  • 其他 - SemVer 版本號管理
當募資超過 500% 之後,會再加開二個老師自己使用 Git 與其他軟體整合的分享,如果有使用 Redmine 或是想知道如何在版本號管理的時候更加便利,這些單元一定要來看看!預計於開課後釋出。
募資期間門檻達到 1000%,實體交流會辦起來!
當募資超過 1000% 之後,老師會在期末舉辦免費的實體交流會,Git 是一門易學難精的技術,透過交流會讓同學們互相分享學習心得,順便吃吃喝喝 XD

作業設計、回覆頻率預告

  1. 作業 1 - 建立兩個文字檔,第一個 (3 commits) 為你對這門課的期望,第二個 (2 commits) 為簡單的自我介紹。兩個一起的也要 2 commits。並且使用 git log 及 gitk 各拍一張交出來
  2. 作業 2 - 在 GitHub 建立一個專案,名稱為 hahow-git-1,並建立兩個文字檔,第一個為你愛吃的水果,第二個為你喜歡旅遊的地方,總共至少要有 3 個 commits,並且上傳回 GitHub,最後將這個專案的網址傳給老師檢查。
  3. 作業 3 - 將專案 hahow-git-1 建立一個新分支 create-readme,並在這個分支內新增 README.md 檔案,介紹一下你目前覺得最有用的 git 指令。完成後上傳至 GitHub。
  4. 作業 4 - 將專案 hahow-git-1 的 create-readme 分支合併到 master 分支後,並產生一次合併衝突,解決衝突後上傳到 GitHub。
作業回覆、問題回答頻率

開課前最慢會在 72 小時內回覆同學提出的問題;開課後依照課程進度,最慢會在 48 小時內回覆。

互動方式

開課前會使用 hahow 回覆,開課後將會有學生的專屬 Facebook 社團,屆時將 GitHub 連結上傳到社團裡告知老師即可喔!

📍如果你有這些問題⋯⋯

1. 我不會寫程式是不是會聽不懂?

放心,版本管理的概念跟程式沒有絕對的關係,只要大家日常生活中有管理文件的需求,都一定會到用版本管理。大家如果有用過 Dropbox 或 Google Docs 的話,本身也有版本管理機制,所以你已經在用版本管理只是你不知道而已。所以把 Git 學會,之後對於自己維護資料能更得心應手喔!

2. 黑畫面裡面輸入的內容都是英文,好複雜我都記不住。

放心,裡面使用到的大部分指令都會一再使用,所以只要跟著老師的步伐,之後不用老師提醒也能靈活的運用這些指令了。

3. 我已經有在用 Git 了,這門課程對已經會 Git 的人有什麼好處?

「要刮別人的鬍子前,先把自己的刮乾淨」、「狡兔有三窟」及「開枝散葉」這三個章節算是比較基礎的課程,多學可以加深對於 Git 的基礎。而「循規蹈矩」、「其他」及「小技巧」則是進階使用時會遇到的一些狀況,也有比較新的 FBI flow,所以建議就算你已經會 Git 了,也是強烈建議來上這門課喔!

「講師介紹」四字以白色大字置於深色背景中央,背景融入模糊的程式碼與科技感光影,作為課程講師介紹段落的視覺標題。

老師資料 - 教學經歷

  • 2017 松山工農:團體共同協作與版本管理
  • 2014 宜蘭大學:行動裝置程式設計
  • 2013 銘傳大學:行動平台上利用 Facebook API 開發社群應用程式

老師資料 - 工作經歷

  • 2018/8 ~ 現在:Funliday 技術長
  • 2011/9 ~ 2018/8:三竹資訊 研發副理
  • 2008/9 ~ 2011/8:大理資訊 系統分析師

老師資料 - 研討會

哪些人適合這堂課?
* 我是邊緣人:常常在一兩個月後發現「你的程式碼不是你的程式碼」 * 寫程式的:你寫的程式碼「老是被其他同事蓋掉」、程式包版時「老是搞錯版本」 * 一般文書處理的:老是花時間「在一堆備份資料夾裡面找檔案」、不知道這個檔案「前一次改了什麼」 * 已有版本管理基礎的:不知道要「如何有效率的與其他人一起合作」、不知道要「如何解決衝突」
你可以學到
* 不用再怕程式碼被改亂 * 不用再怕衝突無法解決 * 使用工作流程協同合作
上課前的準備
需要準備的工具 / 軟體(若購買課程前不清楚版本是否支援,請先留言與老師確認。)
版本管理是現今軟體開發大家都一定要會的技能,而 Git 更是目前的版本管理主流。這門課會教你如何從最簡單的個人版本管理,一直到多人版本管理,以及共同開發時如何有效率的管理程式碼。
需要具備的背景知識
* 撰寫程式的經驗:有最好,沒有也無妨 * 使用命令列模式的經驗:有最好,沒有也無妨
單元一覽
6 章 33 單元|總時長 277 分鐘
全部展開
1
工欲善其事,必先利其器
影片單元
單元 1 - Git 簡介
10:35
影片單元
單元 2 - 簡易命令列入門
18:37
2
要刮別人的鬍子前,先把自己的刮乾淨
影片單元
單元 1 - 初始化 Git 並將資料交給 Git 保管 (config, init, add, commit, status)
13:21
影片單元
單元 2 - 各種檔案操作情境 (包括新增、修改、刪除或變更檔案名稱)
影片單元
單元 3 - 了解 Git 的資料模型
05:05
影片單元
單元 4 - 看看你在 Git 上操作的內容 (log, show, gitk)
10:14
作業單元
作業 1 - 建立兩個文字檔並使用 commit 指令
查看作業
影片單元
單元 5 - 小技巧 - 列出檔案的每行修改記錄 (blame)
03:14
3
狡兔有三窟
影片單元
單元 1 - GitHub 與 GitLab 介紹
07:50
影片單元
單元 2 - 上傳專案到 GitHub (remote, push)
08:58
影片單元
單元 3 - 從 GitHub 下載專案 (clone, pull, fetch)
11:04
影片單元
單元 4 - 回顧 Git 資料模型
03:01
作業單元
作業 1 - 在 GitHub 建立一個專案為 hahow-git
查看作業
影片單元
單元 5 - 小技巧 - 使用 Markdown 撰寫文件
07:38
4
開枝散葉
影片單元
單元 1 - 工作目錄與儲存庫之間的互動 (checkout)
16:42
影片單元
單元 2 - 將工作拆分成可同時進行的分支 (branch, checkout)
11:18
作業單元
作業 1 - 將專案 hahow-git 建立一個新分支 create-readme,並在這個分支內新增 README.md 檔案,介紹一下你目前覺得最有用的 git 指令。完成後上傳至 GitHub。
查看作業
影片單元
單元 3 - 合併已經完成的分支-1 (merge)
07:44
影片單元
單元 4 - 解決遇到衝突的合併
09:16
影片單元
單元 5 - 小技巧 - 將想要的 commit 獨立插入 (cherry-pick)
03:32
影片單元
單元 6 - 重新設定目前分支的內容 (reset, reflog)
15:50
影片單元
單元 7 - 合併已經完成的分支-2 (rebase)
07:18
影片單元
單元 8 - 小技巧 - 暫存還不想放到正式記錄的工作 (stash)
05:33
5
循規蹈矩
影片單元
單元 1 - 三種存取模型 (dispersed, collocated, shared)
08:55
影片單元
單元 2 - 主線開發與搭配分支開發
03:37
影片單元
單元 3 - 小技巧 - 取消曾經做過的工作 (revert)
03:33
影片單元
單元 4 - 一功能一分支
03:24
影片單元
單元 5 - GitHub Flow
02:02
影片單元
單元 6 - 小技巧 - git diff 及 git log 的進階用法
16:24
影片單元
單元 7 - GitLab Flow & gitworkflows
06:11
影片單元
單元 8 - 小技巧 - 找出這個變更發生的起始 commit (bisect)
06:49
影片單元
單元 9 - GitFlow
05:07
影片單元
單元 10 - 小技巧 - 忽略不想被 Git 保管的檔案 (gitignore)
07:22
6
其他
影片單元
單元 1 - GitLab 使用經驗
09:20
影片單元
單元 2 - 小技巧 - 分支操作進階用法
11:15
影片單元
單元 3 - 用 git-extras 增強 Git 的使用體驗
04:24
試看單元
播放試看影片
章節 2 - 要刮別人的鬍子前,先把自己的刮乾淨
單元 2 - 各種檔案操作情境 (包括新增、修改、刪除或變更檔案名稱)
試看影片
12:30
課程評價
4.7
/ 5.0
27 則評價
jamesliu2023-11-01
上課簡單易懂
因課程是多年前拍攝,有些資料未更新。
1 人覺得有幫助
yam000582022-01-19
入門課程
帶到大部分的基礎觀念,適合剛接觸GIT或稍有經驗的使用者 唯或許因為章節編排,有些細節或背景知識只有點到為止
1 人覺得有幫助
flashjohn2019-08-22
帶你更smart的使用git做管理使用
這門課如果是熟悉Linux的shell指令,或是曾經用過git但是一支半解的程式相關人員, 我認為學習的幅度最大,因為git的操作大部分還是仰賴終端機進行指令控制, 有了一些基礎,比較不會每個章節都會有非git操作所不知道的知識矇蔽,可以專心聽老師要授與的部分。 不過老師對於這些非git的知識其實都有提到,不訪先記錄下來,進行google搜尋, 往往可以在搜尋的過程中吸收這些知識後學到更多。 在學習完git的概念後,我們可以任意的在電腦開資料夾,將資料夾設定後讓git進行管理, 從此在這個資料夾的內容,將得到版本控制的保護。 我認為這對於做筆記、做計畫、都很有幫助。且gitk或是git show可以查看每次commit的內容差異,往後要回顧也非常好進行複習。 git這工具,實在不應該只限定軟體相關人員接觸,應該是大家都應該知道的小工具 廣泛的程度我認為與Office不相上下。 推薦給大家
(已編輯)
王慕羣 Kewang
授課老師
2020-09-07
感謝你的分享,我會再找機會分享一些其他與 git 相關的小知識。
查看更多
Might Lee2021-12-19
還不錯的入門課程
大部份GIT要注意的地方都有涵蓋到了. 有些細項需要自己不斷的練習和使用. GIT可變化的內容太多,不太可能上個課程就一次性的講完所有招式. 初步了解GIT內容後可自行依自己的需求再去找更多的資源來用.
查看更多
jessica11152022-01-19
從git基礎到進階用法都能學習到的一門課
這門課從git模型到指令都有深入淺出的教學,不過若是初學者仍需要透過更多的實作才能更加融會貫通,若是已有初步git基礎的同學應該是能學習到更多檔案管理的進階用法,整體來說還是滿不錯的一門課!

意猶未盡嗎?

關於講師

王慕羣 Kewang
2堂課程
0篇文章
407位學生
目前在一間旅遊新創擔任技術長,平日喜歡分享許多實戰技術文章,也已經連續七年在大型技術研討會分享各種前後端實戰經驗。 擅長 Java、JavaScript (Node.js, Express.js)、Hadoop 生態系 (HBase)、PostgreSQL (PostGIS)、MongoDB,也喜歡玩各種先進的前後端技術。現在則是專注在 DevOps,CI/CD,Git 工作流程等軟技術。
前往講師頁面

購課前問答

日期最新
日期最新
日期最舊
愛心數
f
2025-12-27
請問即2026年,這樣課程,上起來,會接得現代?
回覆
我也想問
Ju Bill
2022-09-29
GIT 第二章裡面說的補充資料要在哪裡找???
(已編輯)
回覆
2 人想問
Chloe
2019-12-06
請問會教如何在GitHub編寫文章或是如何放上自己的程式作品嗎??
(已編輯)
王慕羣 Kewang
授課老師
2019-12-29
會喔,會教到如何撰寫 Markdown,也會教到如何上傳程式,這也是這門課最基本的內容喔
回覆
我也想問
陳俊豪
2019-06-06
我還只是學生,之前跟別人在一起做小專案時常常在 merge 時出一堆問題,像是 merge 之後我原本寫的反而不能用了,不知道這邊老師能不能多介紹一些業界到底如何管控 merge 問題,謝謝老師 !
王慕羣 Kewang
授課老師
2019-06-07
其實寫程式除了要對邏輯有概念以外,與「人的溝通」也很重要。 衝突通常會發生在模組切不夠開,或者是沒溝通清楚,這我在課程上都會分享喔
回覆
我也想問
superbirdbbf
2019-06-06
希望有visual studio 或 visual studio code 搭配Azure DevOps 或 GitHub的實務操作
王慕羣 Kewang
授課老師
2019-06-07
azure 可能要找時間,但對於 GitHub 的實務操作當然是會一起介紹囉
回覆
我也想問
購買單堂課

NT$2,600
有什麼優惠可以用?
小蛙幫你找最佳優惠
登入看看 有什麼優惠用

相關標籤