課程時間

🔧【Tools工具安裝】9:10:41

🎬【Preview導讀】3:41:55

🎬【Git版控神器CrashCourse(速成班)】 38:18:40

課程章節

請按「Preview」預覽章節。

  關於本課程
Available in days
days after you enroll
  AzureDevOps搭配SourceTree達成團隊合作入門
Available in days
days after you enroll
  GitConfiguration、LocalRepository
Available in days
days after you enroll
  GitCommit基礎觀念
Available in days
days after you enroll
  Branch(分支)
Available in days
days after you enroll
  FastForwardMerge(快進合併)
Available in days
days after you enroll
  3WayMerge(三路合併)
Available in days
days after you enroll
  CherryPick(挑櫻桃)
Available in days
days after you enroll
  關於HttpsGitClone
Available in days
days after you enroll
  LocalBranch(本地分支)、RemoteTrackingBranch(本地追蹤分支)、RemoteBranch(遠端分支)。Fetch、Pull、Push
Available in days
days after you enroll
  Tag(標籤)
Available in days
days after you enroll
  關於GitIgnore
Available in days
days after you enroll
  關於Stash和WorkTree
Available in days
days after you enroll
  關於GitLog和GitShow和GitBlame
Available in days
days after you enroll
  SourceTree的RevertCommit(復原提交)、RevertHunk(復原部分)、GitBash的RevertCommit(復原提交)
Available in days
days after you enroll
  更改任意一個CommitMessage(提交訊息)
Available in days
days after you enroll
  EditLastCommit(編輯最新提交)
Available in days
days after you enroll
  ReorderCommits(更改提交順序)
Available in days
days after you enroll
  SquashCommits(合併提交)
Available in days
days after you enroll
  RebaseBranch(重設分支起點)
Available in days
days after you enroll
  課程評價
Available in days
days after you enroll
請選付款方案

🔴如果您在HiSKIO上購買了課程,則無需在Teachable重新購買相同課程。

請注意,Teachable Pay的發票無法提供給台灣公司報稅,如果需要台灣發票報稅,請去HiSKIO購買。

Teachable可能會產大約5%的「海外交易費」(詳情請諮詢您的發卡機構),為了學生權益,請使用「10%off」折價券

「Bundle」(組合包)更划算!

#「Git」相關系列「Bundle」(組合包)

  • 🚀「包含9堂課」B-6-版控神器Git速成班、Git眉角學程第1-8篇(Click here)
  • 🚀「IT工具人學院全部課程」B-1-1-All Course Membership全能學生證(Click here)

Git Serious(學程)

注意: 因為此系列已經沒有新東西可以教了,所以這個學程不會再加入新內容了!

#請來這邊看「Git Serious(學程)」簡介(Click here)

🚀7-1-0-Git版控神器CrashCourse(速成班)(Click here)(👈😁你現在在此!!)

🚀7-1-1-GitEpisode1(第1篇)-Stage、Commit(Click here)

🚀7-1-2-GitEpisode2(第2篇)-Branch、Merge(Click here)

🚀7-1-3-GitEpisode3(第3篇)-LocalBranch、RemoteTrackingBranch、RemoteBranch、AnnotatedTag、LightweightTag(Click here)

🚀7-1-4-GitEpisode4(第4篇)-Diff、Patch、GitIgnore、Stash、WorkTree、GitBlame、GitShow、GitBundle(Click here)

🚀7-1-5-GitEpisode5(第5篇)-Rebase、Revert、InsertCommit、UpdateCommit、DeleteCommit(Click here)

🚀7-1-6-GitEpisode6(第6篇)-BackUp GitConfig、GitHook、Jest、PreCommit、Husky、Eslint、EslintConfig、LintStaged(Click here)

🚀7-1-7-GitEpisode7(第7篇)-GitObject、Blob、Tree、Commit、Tag、Compress、ShrinkRepository(Click here)

🚀7-1-8-GitEpisode8(第8篇)-GitHub、CentralizedWorkflow、FeatureBranchWorkflow、ForkingWorkflow、GitFlowWorkflow(Click here)

工具安裝

🔧Git for Windows

🔧SourceTree

🔧TortoiseGit

🔧P4Merge

課前技能

✍只要有勇氣面對"GitBash"(終端機)鼻孔朝天,一副老子天下無敵的勇者,都非常適合上課。

單元簡介

導讀

  • (P0)Git(1to8)(版控神器)(眉角學程)
  • (P1)複習GitCommand(Git指令)
  • (P2)整個Git學程重點摘要複習
  • (P3)GitResource(Git資源)
  • (P4)Git課程使用說明書
  • (P5)Git學程導讀
  • (P5-1)整個學程簡介
  • (P5-2)GitEpisode1(第1篇)-Stage、Commit
  • (P5-3)GitEpisode2(第2篇)-Branch、Merge
  • (P5-4)GitEpisode3(第3篇)-LocalBranch、RemoteTrackingBranch、RemoteBranch、AnnotatedTag、LightweightTag
  • (P5-5)GitEpisode4(第4篇)-Diff、Patch、GitIgnore、Stash、WorkTree、GitBlame、GitShow、GitBundle
  • (P5-6)GitEpisode5(第5篇)-Rebase、Revert、InsertCommit、UpdateCommit、DeleteCommit
  • (P5-7)GitEpisode6(第6篇)-BackUp GitConfig、GitHook、Jest、PreCommit、Husky、Eslint、EslintConfig、LintStaged
  • (P5-8)GitEpisode7(第7篇)-GitObject、Blob、Tree、Commit、Tag、Compress、ShrinkRepository
  • (P5-9)GitEpisode8(第8篇)-GitHub、(Centralized、FeatureBranch、Forking、GitFlow)Workflow
  • (P5-10)Git(版控神器)CrashCourse(速成班)

AzureDevOps搭配SourceTree達成團隊合作入門

  • (T1)AzureDevOps搭配SourceTree達成團隊合作入門
  • (T1-1)為什麼要使用Git
  • (T1-2)介紹此Tutorial將做什麼
  • (T1-3)複習工作下載與安裝
  • (T1-4)關於AzureDevOps的Repository
  • (T1-5)關於AzureDevOpsBoards和BasicProcess
  • (T1-6)(EpicA)關於AzureDevOpsBoards和SourceTree的GitClone
  • (T1-7)(EpicA)關於AzureDevOpsBoards和SourceTree的Commit和Push
  • (T1-8)EpicB)關於AzureDevOpsBoards和SourceTree的GitClone和Branch
  • (T1-9)(EpicC)關於AzureDevOpsBoards和SourceTree的GitClone和Branch
  • (T1-10)(EpicB)關於AzureDevOpsBoards和SourceTree的Commit和Push
  • (T1-11)(EpicC)關於AzureDevOpsBoards和SourceTree的Commit和Push
  • (T1-12)(EpicB)關於AzureDevOpsBoards和SourceTree的Merge和Push
  • (T1-13)(EpicC)關於AzureDevOpsBoards和SourceTree的MergeConflict和Push觀念  
  • (T1-14)(EpicC)關於AzureDevOpsBoards和SourceTree的MergeConflict(P4Merge)和Push實作
  • (T1-15)個人經驗分享

GitConfiguration、LocalRepository

  • (T2)GlobalGitConfiguration和SystemWideGitConfiguration和LocalGitConfiguration;設定Name和Email
  • (T2-1)Tutorial簡介
  • (T2-2)關於GlobalGitConfiguration的Name和Email
  • (T2-3)GitHub的Repository
  • (T2-4)GitBash的前置準備
  • (T2-5)SourceTree的前置準備
  • (T2-6)使用SourceTree,TortoiseGit,GitBash開啟Repository
  • (T2-7)關於GlobalGitConfiguration,設定Name和Email
  • (T2-8)關於SystemWideGitConfiguration
  • (T2-9)關於LocalGitConfiguration,設定Name和Email
  • (T2-10)設定SourceTree的Name和Email
  • (T2-11)複習GitCommand
  • (T2-12)我的個人建議
  • (T3)關於LocalRepository和BareRepository
  • (T3-1)Tutorial簡介
  • (T3-2)SourceTree的LocalRepository
  • (T3-6)複習GitCommand
  • (T3-7)我的個人建議

GitCommit基礎觀念

  • (T4)Staged和Unstaged和Commit和GitStatus和GitLog
  • (T4-1)Tutorial簡介
  • (T4-2)術語介紹
  • (T4-3)SourceTree的LocalRepository
  • (T4-4)SourceTree的Staged和Unstaged
  • (T4-5)SourceTree的Commit
  • (T4-6)SourceTree的FileStatus和History和Search,關於DiscardChange
  • (T4-7)SourceTree的CheckOut關於Head和DetachHead
  • (T4-8)SourceTree的Discard和Remove
  • (T4-9)SourceTree的StageHunk和DiscardHunk
  • (T4-10)SourceTree的DiscardChange來回復被刪除的檔案
  • (T4-11)使用SourceTree,TortoiseGit,GitBash打開Repository
  • (T4-29)CommitMessage的個人建議
  • (T4-30)複習GitCommand
  • (T4-31)我的個人建議

Branch(分支)

  • (T7)Branch的建立和checkout和刪除
  • (T7-1)Tutorial簡介
  • (T7-2)GitBash的前置準備
  • (T7-3)SourceTree的前置準備
  • (T7-4)關於SourceTree的Branch的Create、Delete、Checkout、Rename
  • (T7-7)複習GitCommand
  • (T7-8)我的個人建議

FastForwardMerge(快進合併)

  • (T8)關於FastForwardMerge(快進合併)、NoFastForwardMerge(非快進合併)、NoFastForwardNoCommitMerge(非快進非提交合併)
  • (T8-1)Tutorial簡介
  • (T8-2)關於FastForwardMerge(快進合併)、NoFastForwardMerge(非快進合併)、NoFastForwardNoCommitMerge(非快進非提交合併)
  • (T8-3)SourceTree的前置準備
  • (T8-4)GitBash的前置準備
  • (T8-5)TortoiseGit的前置準備
  • (T8-6)SourceTree的FastForwardMerge(快進合併)
  • (T8-7)SourceTree的NoFastForwardMerge(非快進合併)
  • (T8-14)複習GitCommand
  • (T8-15)我的個人建議

3WayMerge(三路合併)

  • (T9)關於3WayMerge(三路合併)
  • (T9-1)Tutorial簡介
  • (T9-2)關於3WayMerge、MergeConflict、UndoMergeAfterCommit、UndoMergeBeforeCommit
  • (T9-3)SourceTree的前置準備
  • (T9-4)SourceTree的前置準備,關於3WayMerge
  • (T9-5)SourceTree的前置準備,關於3WayMerge和MergeConflict
  • (T9-12)SourceTree的3WayMerge
  • (T9-13)SourceTree的3WayMerge之後,UndoMergeAfterCommit
  • (T9-14)SourceTree的3WayMerge,但產生MergeConflict之後。UndoMergeBeforeCommit
  • (T9-15)SourceTree的3WayMerge,使用P4Merge解決MergeConflict
  • (T9-24)複習GitCommand
  • (T9-25)我的個人建議

CherryPick(挑櫻桃)

  • (T11)關於CherryPick(挑櫻桃)和CherryPickNCommit(採N個櫻桃)
  • (T11-1)Tutorial簡介
  • (T11-2)CherryPick(挑櫻桃)和CherryPickNCommit(挑N個櫻桃)
  • (T11-3)SourceTree的前置準備
  • (T11-6)SourceTree的CherryPick(挑櫻桃)
  • (T11-11)複習GitCommand
  • (T11-12)我的個人建議

關於HttpsGitClone

  • (T13)關於Https的GitClone
  • (T13-1)Tutorial簡介
  • (T13-2)GitBash的HttpsGitClone,複製GitHub、GitLab、BitBucket、AzureDevOpsService的Repository
  • (T13-3)SourceTree的HttpsGitClone,複製GitHub、GitLab、BitBucket、AzureDevOpsService的Repository
  • (T13-5)複習GitCommand和我的個人建議

LocalBranch(本地分支)、RemoteTrackingBranch(本地追蹤分支)、RemoteBranch(遠端分支)。Fetch、Pull、Push

  • (T19)LocalBranch和RemoteTrackingBranch和RemoteBranch;Fetch和Pull和Push
  • (T19-1)Tutorial簡介
  • (T19-2)複習
  • (T19-3)GitHub的Repository
  • (T19-4)GitBash的前置準備
  • (T19-5)SourceTree的前置準備
  • (T19-6)SourceTree的Push、Fetch、Pull
  • (T19-7)GitBash的GitDemo2的gitFetchPrune
  • (T19-19)複習GitCommand
  • (T19-20)我的個人建議

Tag(標籤)

  • (T22)關於Tag
  • (T22-1)Tutorial簡介
  • (T22-2)GitBash的前置準備
  • (T22-3)關於SemanticVersioning2,較AnnotatedTag(標示標籤)和LightweightTag(輕量標籤)
  • (T22-4)SourceTree的建立LocalAnnotatedTag和LocalLightweightTag
  • (T22-5)SourceTree的CheckoutToTag並且CreateBranch
  • (T22-6)SourceTree的git fetch -v、--tags
  • (T22-7)SourceTree的刪除Branch和刪除Tag
  • (T22-8)GitBash的DeleteOutdateLocalTagAndOutdateRemoteTrackingBranches。git fetch --prune --prune-tags
  • (T22-9)SourceTree的刪除全部的LocalTags和RemoteTag
  • (T22-23)複習GitCommand
  • (T22-24)我的個人建議,GitFlow和Tag

關於GitIgnore

  • (T26)關於GitIgnore
  • (T26-1)Tutorial簡介
  • (T26-2)GitBash的前置準備
  • (T26-3)Scenarios1的GitIgnore忽略RootFile
  • (T26-4)Scenarios2的GitIgnore忽略Folder
  • (T26-5)Scenarios3的GitIgnore忽略Hierarchy
  • (T26-6)Scenarios3的GitIgnore忽略Extension副檔名
  • (T26-7)關於GitIgnoreTemplate
  • (T26-8)複習GitCommand
  • (T26-9)我的個人建議

關於Stash和WorkTree

  • (T27)關於Stash
  • (T27-1)Tutorial簡介
  • (T27-2)GitBash的前置準備
  • (T27-3)SourceTree的前置準備
  • (T27-4)SourceTree的git stash (push -m StashMessage) (--keep-index)。git stash show (-p) StashIndex
  • (T27-5)SourceTree的git stash apply (--index) StashIndex
  • (T27-6)SourceTree的StageAndStas。git stash (push -m StashMessage) (-u) (--keep-index)
  • (T27-7)SourceTree的CreateBranchCheckoutBranchApplyStashDeleteStash。git stash branch Branch StashIndex
  • (T27-8)SourceTree的git stash pop (--index) StashIndex。git stash drop StashIndex。git stash clear
  • (T27-14)複習GitCommand
  • (T27-15)我的個人建議

關於GitLog和GitShow和GitBlame

  • (T29)關於GitLog和GitShow和GitBlame
  • (T29-1)Tutorial簡介
  • (T29-2)SourceTree的前置準備
  • (T29-3)SourceTree的GitLog。關於CommitSearch和ShowFileLog
  • (T29-4)SourceTree的GitShow。關於ShowFileLog和OpenCurrentVersion和OpenSelectVersion和CustomAction
  • (T29-13)複習GitCommand和我的個人建議

Reset刪除多個Commit。Rebase刪除單一Commit

  • (T31)Reset刪除多個Commit。Rebase刪除一個Commit
  • (T31-1)Tutorial簡介
  • (T31-2)SourceTree的前置準備
  • (T31-3)SourceTree刪除多個Commit,(Soft、Mixed、Hard)ResetToCommit。git reset CommitId --soft、--mixed、--hard
  • (T31-4)SourceTree刪除一個Commit,RebaseCommItInteractively。git rebase -i、--interactive CommitId
  • (T31-7)複習GitCommand和我的個人建議

SourceTree的RevertCommit(復原提交)、RevertHunk(復原部分)、GitBash的RevertCommit(復原提交)

  • (T33)SourceTree的RevertCommit(復原提交)、RevertHunk(復原部分)、GitBash的RevertCommit(復原提交)
  • (T33-1)Tutorial簡介
  • (T33-2)SourceTree的前置準備
  • (T33-3)SourceTree的RevertCommit
  • (T33-4)SourceTree的RevertHunk
  • (T33-6)複習GitCommand和我的個人建議

更改任意一個CommitMessage(提交訊息)

  • (T34)更改任意一個CommitMessage(提交訊息)。UndoRebaseAfterRebaseAfterPush(Rebase之後Push之後UndoReBase)
  • (T34-1)Tutorial簡介
  • (T34-2)SourceTree的前置準備
  • (T34-3)SourceTree的EditAnyCommitMessage;Push之後復原Rebase
  • (T34-6)複習GitCommand和我的個人建議

EditLastCommit(編輯最新提交)

  • (T35)更改最後一個Commit(提交)。UndoRebaseAfterRebaseAfterPush(Rebase之後Push之後UndoReBase)
  • (T35-1)Tutorial簡介
  • (T35-2)SourceTree的前置準備
  • (T35-3)SourceTree的EditLastCommit(編輯最新的提交)
  • (T35-4)SourceTree的Push之後復原Rebase
  • (T35-7)複習GitCommand和我的個人建議

ReorderCommits(更改提交順序)

  • (T38)ReorderCommits(更改提交順序)。UndoRebaseAfterRebaseAfterPush(Rebase之後Push之後UndoReBase)
  • (T38-1)Tutorial簡介
  • (T38-2)SourceTree的前置準備
  • (T38-3)SourceTree的ReorderCommits(更改提交順序),GitBash的Push之後復原Rebase
  • (T38-7)複習GitCommand和我的個人建議

SquashCommits(合併提交)

  • (T39)SquashCommits(合併提交) ; UndoRebaseAfterRebaseAfterPush(Rebase之後Push之後UndoReBase)
  • (T39-1)Tutorial簡介
  • (T39-2)SourceTree的前置準備
  • (T39-3)SourceTree的SquashCommits(合併提交)
  • (T39-4)SourceTree的Push之後復原Rebase
  • (T39-7)複習GitCommand和我的個人建議

RebaseBranch(重設分支起點)

  • (T40)RebaseBranch(重設分支起點)。UndoRebaseAfterRebaseAfterPush(Rebase之後Push之後UndoReBase)
  • (T40-1)Tutorial簡介
  • (T40-2)關於RebaseBranch
  • (T40-3)SourceTree的前置準備
  • (T40-4)SourceTree的RebaseBranch(重設分支起點)
  • (T40-5)SourceTree的RebaseBranch(重設分支起點),解決Conflict(衝突)
  • (T40-6)SourceTree的Push之後復原Rebase
  • (T40-10)複習GitCommand和我的個人建議

個人建議Git安裝步驟

# 工欲善其事,必先利其器。(請參考「工具安裝」- T18ToT26)

🍳 步驟1: 下載與安裝Git for Windows (or Git for Mac)

🍳 步驟2: 註冊Git Server

E.g. AzureDevOps、GitHub、GitLab、BitBucket

🍳 步驟3: 安裝Git GUI (Graphic User Interface 圖形介面)

E.g. SourceTree、TortoiseGit、GitHub Desktop、GitKraken、GitExtensions、SmartGit、Git in Visual Studio...etc

🍳 步驟4: 安裝Diff and Merge GUI (Graphic User Interface 圖形介面)

E.g. P4Merge、WinMerge、Meld、Beyond Compare、Araxis Merge、KDiff3、DeltaWalker、Code Compare、Integrations...etc

圖解「LocalBranch、RemoteTrackingBranch、RemoteBranch」(本地分支、遠端追蹤分支、遠端分支)

# 請參考【GitEpisode3(第3篇)-LocalBranch、RemoteTrackingBranch、RemoteBranch、AnnotatedTag、LightweightTag】(T19)LocalBranch和RemoteTrackingBranch和RemoteBranch;Fetch和Pull和Push

圖解「Tag」(標籤)

# 請參考【GitEpisode3(第3篇)-LocalBranch、RemoteTrackingBranch、RemoteBranch、AnnotatedTag、LightweightTag】(T22)關於Tag

圖解「Index、GitDiff、Patch」

# 請參考【GitEpisode4(第4篇)-Diff、Patch、GitIgnore、Stash、WorkTree、GitBlame、GitShow、GitBundle】(T25)關於index。關於GitDiff和Patch

圖解「GitHook」

# 請參考【GitEpisode6(第6篇)-BackUp GitConfig、GitHook、Jest、PreCommit、Husky、Eslint、EslintConfig、LintStaged】(T41)關於GitHook