課程敘述
使用Git做版本管理已經是業界標準, 從前端網頁設計師到後端程式設計師,甚至UI設計稿都有人使用Git在做版本管理。微軟Microsoft更是花費75億美元買下Google也曾在追逐的Github - 利用Git作為主要服務的全世界最大的程式碼存放網站。甚至可以說你沒有看過Github的頁面,那你可能還沒真正開始程式設計。
本課程會從由Github所提供的Github Desktop開始,用圖形化介面的方式開始使用Git程式。並且協助新手區分該功能是由Git提供還是Github提供。
(因為不是只有Github有提供網路服務,比較大的還有Gitlab與Bitbucket)
中段課程則會切入進階工程師所必須會的直接使用終端機(Terminal)執行Git指令。由於基本指令已經在第一階段使用過了,所以進入從文字介面的核心課程會有比較小的阻力。
後段課程會提供幾種團隊合作的Git使用方式,讓進入團隊時不會整天被同事抱怨。
課程難度
入門,此課程不需任何程式經驗。
請參閱課程需求
課程需求
1. 知道什麼是程式
2. 知道什麼是程式指令
3. 看過終端機介面
4. 曾經寫過程式(無論種類)
課程目標
學習使用Git做版本管理,不與業界脫節。
課程特點
1. 學習Git版本管理系統
2. 利用桌面化程式Github Desktop做基本版本管理
3. 利用終端機執行基本到進階版本管理
4. 學習團隊版本管理
第一章 (總長2.2小時)
-
play_arrow
01. Git課程基本介紹
11:08 -
play_arrow
02. [Mac] 安裝Github Desktop
09:46 -
play_arrow
03. [Windows] 安裝Github Desktop
04:36 -
play_arrow
04. .git介紹與建立Repo
13:34 -
play_arrow
05. 提交第一個commit與介紹Readme
15:03 -
lock
06. 反悔、還原(revert)commit 的幾種方式與解決conflict
09:08 -
lock
07. 簡述遠端Repo與Github的關係
04:36 -
lock
08. 建立Github帳號、方案介紹與變更主要Email
11:30 -
lock
09. 使用Github Desktop上傳建立Git Repository到Github上
10:39 -
lock
10. 使用Github Desktop Clone 與加入共同開發者(Collaborators)
10:24 -
lock
11. 使用Fetch 與 Pull 同步專案
08:12 -
lock
12. 分支Branch介紹、本地端與遠端的新增與刪除
11:15 -
lock
13. 合併(Merge)目標分支(Branch),解決簡易合併衝突(Conflict)
09:56
第二章 (總長4.8小時)
-
play_arrow
01. [Mac]在Mac上面安裝Git指令
05:18 -
play_arrow
02. [Mac] 基本終端機介面使用與git指令測試
16:58 -
play_arrow
03. [Windows]在Windows上面安裝Git指令
08:50 -
play_arrow
04. [Windows] git與mingw64基本指令
13:17 -
lock
05. Git倉庫(Repo)版本紀錄原理與.git內容簡介
22:18 -
lock
06. Git Object影片說明與使用方式
02:53 -
lock
07. [補充] 深入探討Git Object與Git原理
17:10 -
lock
08. [補充] 傳統Diff與Path版本管理和Git在根本上的不同,以及為何Git不擅長處理大型檔案
25:18 -
lock
09. Git config 為不同的Repo設定不同的Author
11:58 -
lock
10. 重做復原git reset(包含 --hard 與--soft)
13:52 -
lock
11. git checkout 與建立branch (包含 git reflog)
12:36 -
lock
12. 簡單的Git分支策略與合併、刪除分支(branch)
14:03 -
lock
13. 多重檔案的commit 原則以及追查變化方式(log, show, status, diff)
15:53 -
lock
14. 利用專案來介紹.gitignore寫法
20:46 -
lock
15. git mv 與 方便追蹤commit的方式
17:11 -
lock
16. git rm 與刪掉檔案讓gitignore運作正常(git rm --cached)
09:38 -
lock
17. 用 git rebase 來整理commit
23:28 -
lock
18. 利用git cherry-pick來合併單次commit
06:10 -
lock
19. git tag的使用意義,與Branch之間的差異
13:15 -
lock
20. git stash的使用方式與概念
15:30
第三章 (總長1.3小時)
-
play_arrow
01. Git remote章節簡介
02:06 -
lock
02. git 遠端倉庫的介紹與實作(git init --bare)
10:22 -
lock
03. git remote 新增、改名、改路徑
12:24 -
lock
04. git push 與 pull 分支,解決merge commit 問題
15:26 -
lock
05. git pull多重分支,與同步遠端紀錄
16:38 -
lock
06. git pull與fetch的差異與使用時機,git pull -f 的注意事項
05:57 -
lock
07. 為什麼要用git init --bare
05:03 -
lock
08. git ls-remote, git remote show 與 git remote prune
07:24
第四章 (總長2.2小時)
-
play_arrow
01. Github使用章節介紹
01:52 -
play_arrow
02. 建立Github帳號、方案介紹與變更主要Email
11:30 -
lock
03. 初探Github,下載與Fork(分叉)Open Source專案與版本選擇
10:48 -
lock
04. 建立新Repo與連結已存在Repo的幾種方式
19:25 -
lock
05. 加入共同開發者與git clone多使用者小技巧
08:55 -
lock
06. 利用SSH key pair不用輸入密碼也可以上傳下載
09:57 -
lock
07. 多重ssh使用者訪問切換與MacOS ssh-agent MacOS使用注意
13:16 -
lock
08. 使用deploy key來加強部署安全性
08:12 -
lock
09. https無法執行clone與其他remote動作(push, pull, fetch)的解決方法
03:35 -
lock
10. Pull Request(常見描述為 PR)介紹與基本使用
11:32 -
lock
11. 多帳號下的Pull Request介紹
07:50 -
lock
12. 發Pull Request給Open Source專案協助開發
06:01 -
lock
13. Issues, Wiki與README.md介紹
07:18 -
lock
14. Github的tags與Releases介紹
04:50 -
play_arrow
15. 將靜態網頁放上Github Page
09:33
第五章 (總長1.0小時)
-
lock
01. Git flow(流程)章節介紹
03:52 -
lock
02. [Git Flow] 一人開發自然產生的Flow
13:33 -
lock
03. [Git Flow] Hotfixes branch用意與tag master branch
12:45 -
lock
04. [Git Flow]多人開發feature branches 與 release branches介紹
15:44 -
lock
05. Github Flow介紹
09:49 -
lock
06. Gitlab Flow介紹
06:04
第六章 (總長1.1小時)
-
play_arrow
01. GitKraken Git GUI Client介紹
08:04 -
lock
02. [Mac] GitKraken安裝與註冊
03:48 -
lock
03. [Windows] 安裝GitKraken與註冊
03:14 -
lock
04. 建立Repo與增加Commit
08:19 -
lock
05. reset的三種模式,drop commit與revert commit的不同
06:01 -
lock
06. 新增、合併與刪除分支(branch),利用方便的GUI解決merge conflict
09:12 -
lock
07. 與Github做連動,git push, pull, fetch
12:23 -
lock
08. git clone與Github Pull request
03:58 -
lock
09. 在Git Kraken使用Git flow
06:25 -
lock
10. Undo, Redo, Stash and Pop等功能介紹
03:07
第七章 (總長0.8小時)
-
lock
01. [舊版][Windows] 使用Github Desktop建立Repo與基本版本管理 (commit, add, & revert)
16:40 -
lock
02. [舊版][Windows] 安裝Git command line 指令
14:19 -
lock
03. [舊版][Windows] git與mingw64基本指令
19:04
課程講師
縱裕
iOS 工程師 / Ruby On Rails 網站工程師
現職為iOS 工程師,但同時也在鑽研網站技術並且建立多個網站。
曾協助多個新創公司,範圍包含網站前端到桌面應用程式倉存管理與電子機關互動。
從網站架設,手機APP到系統底層都有豐富的經驗。
擅長不同系統架構的整合與創新想法的實現。
經歷:
進度條 技術顧問
Digilog.tw 網站與倉庫後台程式架構設計與建置
Zooe 線上教學平台 網站架構設計與建置
HelloStudy 楓禾留遊學網 設計與建置
Funlock 放樂工作室真實密室逃脫遊戲 - 魔鏡迷城 電子機關設計與製作
iOS App - Rock Click 節拍器
Nexcom ARM韌體與軟體工程師
Insyde BIOS工程師