版控神器Git第8篇: 深入討論GitHub。討論CentralizedWorkflow和FeatureBranchWorkflow和ForkingWorkflow和GitFlowWorkflow。

    深入討論GitHub的實用技巧。討論CentralizedWorkflow(集中式工作流)和FeatureBranchWorkflow(功能分支工作流)和ForkingWorkflow(叉工作流)和GitFlowWorkflow(Git流工作流)。

    26
    收集中
    • 介紹「GitHub-Watch、Star、Fork、TagAndRelease、Branch、Commit、GitClone、DownloadZip」(看、星、標籤和發行、分支、提交、Git複製、下載Zip)。

    • 討論「GitHub-Wiki、README.md、Tag、Release、Page、CustomDomain」(維基,讀我、標籤、發行、頁、自訂網址)。

    • 討論"GitHub-Collaborator、Project、Issue、PullRequest"(共同開發者、專案、議題、請求合併)。封存在「Project」(專案)的「Issue」(議題)。

    • 討論「DefaultBranch」(預設分支)和「BranchProtectionRules」(分支保護規則)。

    • 討論「"GitHub-Organization、Team、Project」(機構、組、專案)。

    US$62.35
    US$77.94

    按一下 進入設定

    00:00
    00:00
    00:00

    課程優惠

    超早鳥 : $ 1399 (5.5折) (截止日:2022年2月28日23:59)
    早鳥2號 : $ 1499 (5.9折) (截止日:2022年3月31日23:59)
    早鳥3號 : $ 1599 (6.3折) (截止日:2022年4月30日23:59)
    IT工具人官網福利 : $ 1999 (7.9折)

    版控神器Git眉角學程組合包(Git第1~8篇+Git速成班)超早鳥: $7999 (3.4折)(截止日:2022年2月28日23:59)
    版控神器Git眉角學程組合包(Git第1~8篇+Git速成班)早鳥2號: $8199 (3.49折)(截止日:2022年3月31日23:59)
    版控神器Git眉角學程組合包(Git第1~8篇+Git速成班)早鳥3號: $8299 (3.53折)(截止日:2022年4月30日23:59)
    版控神器Git眉角學程組合包(Git第1~8篇+Git速成班)IT工具人官網福利: $9999 (4.2折)

    越早預購越划算,價格將依照「課程製作完成度、購買人數、優惠名額...」等條件,進行價格調整,以實際公告與當下購買之金額為主。


    🚀 版控神器Git第8篇: 深入討論GitHub。討論CentralizedWorkflow和FeatureBranchWorkflow和ForkingWorkflow和GitFlowWorkflow。

    深入討論GitHub的實用技巧。討論CentralizedWorkflow(集中式工作流)和FeatureBranchWorkflow(功能分支工作流)和ForkingWorkflow(叉工作流)和GitFlowWorkflow(Git流工作流)。

    🍳 Git第8篇-Tutorial 054 : GitHub簡介
    介紹「GitHub-Watch、Star、Fork、TagAndRelease、Branch、Commit、GitClone、DownloadZip」(看、星、標籤和發行、分支、提交、Git複製、下載Zip)。

    🍳 Git第8篇-Tutorial 055 : 文件。GitHub的Wiki。關於README.md
    討論「GitHub-Wiki、README.md」(維基,讀我)。

    🍳 Git第8篇-Tutorial 056 : 討論GitHub的Tag和Release
    討論「GitHub-Tag、Release」(標籤、發行)。

    🍳 Git第8篇-Tutorial 057 : 討論GitHubPage。
    討論「GitHub-Page、CustomDomain」(頁、自訂網址)。

    😈Git第8篇-魔王1號 🍳 Git第8篇-Tutorial 058 : 關於GitHub的Collaborator和Project和Issue和PullRequest。封存在Project的Issue。DefaultBranch(預設分支)和BranchProtectionRules(分支保護規則)。
    討論"GitHub-Collaborator、Project、Issue、PullRequest"(共同開發者、專案、議題、請求合併)。封存在「Project」(專案)的「Issue」(議題)。討論「DefaultBranch」(預設分支)和「BranchProtectionRules」(分支保護規則)。

    😈Git第8篇-魔王2號 🍳 Git第8篇-Tutorial 059 : 關於GitHub的Organization(機構)和Team(組)和Project(專案)
    討論「"GitHub-Organization、Team、Project」(機構、組、專案)。討論「Organization-Repository"」(機構-代碼倉庫)、「Organization-Member」(機構-組員)、「Organization-Team」(機構-組)、「Organization-Team-Member」(機構-組-組員)。比較「Organization-Project」(機構-專案)和「Organization-Repository-Project」(機構-代碼倉庫-專案)。討論「Organization-ParentTeam」(機構-父組)和「Organization-SecretTeam」(機構-密組)。

    😈Git第8篇-魔王3號 🍳 Git第8篇-Tutorial 060 : GitHub的OpenSource的Fork和PullRequest
    討論使用「Fork」來備份其他人的「GitHub-PublicRepository」(GitHub公開倉庫)。討論使用「Fork、PullRequest」來合併自己的修改到其他人的「GitHub-PublicRepository」(GitHub公開倉庫)。

    😈Git第8篇-魔王4號 🍳 Git第8篇-Tutorial 061 : 實作GitFlowWorkFlow
    使用「SourceTree-GitFlow」按鈕和「Git指令」來實作「GitFlowWorkFlow」(Git流工作流)理論。

    😈Git第8篇-魔王5號 🍳 Git第8篇-Tutorial 062 : 各種BranchingStrategies(分支技巧),各種WorkFlows(工作流程)。
    討論「CentralizedWorkflow、FeatureBranchWorkflow、ForkingWorkflow、GitFlowWorkflow」(集中式工作流、功能分支工作流、叉工作流、Git流工作流)。


    跟著我走,手把手,扎實打底,完全精通「版控神器Git」

    市面上有不少免費或是付費的「Git課程」,但是,您是否覺得,每次學完之後,總是不夠自信地說,「Not a problem!!!」
    但為什麼學完之後,卻還是被Git,東卡西卡,發好人卡,得不到好結果呢?

    在工作中,可能只是執行「git merge」,然後產生「Conflict」(衝突),就讓你驚慌失措,不知如何是好。
    遇到突發狀況,上網問卦,網友全掛,老闆問話,只好求老闆,把你當個屁給放了。

    其實,很多時候,只要使用「P4Merge」,滑鼠點一點,「Conflict」(衝突)就可以輕鬆搞定,讓您起死回生,哼哼哈兮(OS: 別拿出雙節棍)。當您身邊,沒有人可以帶您入門的時候,或是,前輩怎麼講,您都聽不懂的時候,「版控神器Git眉角學程」就是您居家旅行,必備良藥,強力推薦。

    #「版控神器Git速成班」,超過34個小時,內容是擷取「版控神器Git眉角學程」中,使用「SourceTree」的部分,還有少許部分的「Git指令教學」,帶您快速入門,應付工作。
    「版控神器Git速成班」適合新手,但是不推薦給已經在工作的老手。如果您已經工作滿一年了,建議服用「版控神器Git眉角學程」,好好扎實打底吧。

    #「版控神器Git眉角學程」,總共有8個課程,超過132個小時,適合新手,也完全適合已經在工作的老手。
    透過精心設計的學習步驟,鉅細靡遺的「示範教學」「從零開始」,手把手,一門銜接一門,扎實打底,循序漸進,「從實戰到應用,再到底層觀念,帶您融會貫通,徹底理解」,完全攻略「版控神器Git」,讓你可以有自信地說「Not a problem!!!」

    當別人還在,舉頭望鳥巢,低頭說臥槽的時候。我的課程,已經可以讓您,同時精通「SourceTree、TortoiseGit、Git指令」,互相配合的「三刀流」工作模式(OS: 沒看過海賊王嗎?)。


    版控神器Git眉角學程

    # 透過精心設計的學習步驟,鉅細靡遺的示範教學,從零開始,手把手,一門銜接一門,扎實打底,循序漸進,從實戰到應用,再到底層觀念,帶您融會貫通,徹底理解,完全攻略「版控神器Git」。
    讓你以後遇到Git相關問題,都可以很自信地說「Not a problem!!!」

    # 您目前位於「版控神器Git第1篇: 深入討論Stage和Commit。」:
    「版控神器Git學程講義目錄(點我)

    🚀 版控神器Git速成班
    🚩 透過SourceTree圖形介面工具,深入了解Git用法和觀念,無痛學習,從個人到團隊都適用。
    「版控神器Git速成班」,超過34個小時,內容是擷取「版控神器Git眉角學程」中,使用「SourceTree」的部分,還有少許部分的「Git指令教學」,帶您快速入門,應付工作。「版控神器Git速成班」適合新手,但是不推薦給已經在工作的老手。如果您已經工作滿一年了,建議服用「版控神器Git眉角學程」,好好扎實打底吧。

    🚀 版控神器Git第1篇: 深入討論Stage和Commit。
    🚩 詳細示範SourceTree和TortoiseGit圖形介面工具。深入了解Git指令的用法和觀念。本篇深入分析Stage和Commit(提交)。
    • 示範SourceTree和P4Merge圖形介面工具,幾乎沒有Git指令,無痛學習。討論AzureDevOpsService。使用BasicProcessFlow搭配Epic和Issue來初步認識管理團隊合作。
    • 討論優先順序,LocalGitConfiguration大於GlobalGitConfiguration大於SystemWideGitConfiguration。示範在GlobalGitConfiguration和LocalGitConfiguration和SourceTree內設定Name和Email,了解差異和比較。
    • 示範LocalRepository(本地代碼倉庫)和BareRepository(本地基本代碼倉庫)的差異和比較。
    • 使用SourceTree和TortoiseGit和Git指令來示範Staged(暫存)和Unstaged(取消暫存)和Commit(提交)和GitStatus(狀況)和GitLog(歷史紀錄)。
    • 介紹使用WindowsCommandPrompt和WindowsPowerShell和GitBash來執行Git指令的環境設定。討論GItBash的UTF8中文顯示設定。
    • 介紹Git指令的預設文字編譯器為Vim。如果不習慣使用Vim,這邊也會示範把Git指令的文字編譯器設定為NotePad或是NotePad++。

    🚀 版控神器Git第2篇: 深入討論Branch和Merge。
    🚩 詳細示範SourceTree和TortoiseGit圖形介面工具。深入了解Git指令的用法和觀念。本篇深入分析Branch(分支)和Merge(合併)。
    • 示範「SourceTree、TortoiseGit、Git指令」來做「Branch」(分支)的建立和「checkout」和刪除。
    • 示範「SourceTree、TortoiseGit、Git指令」來做「3WayMerge」(三路合併)和「FastForwardMerge」(快進合併)和「NonFastForwardMerge」(非快進合併)和「CherryPick」(挑櫻桃)。
    • 示範「TortoiseGit、Git指令」(不包含「SourceTree」)來做「NoFastForwardNoCommitMerge」(非快進非提交合併)和「SquashMerge」(壓縮'合併)和「CherryPickNCommit」(挑N個櫻桃)。
    • 示範「P4Merge」來處理「Conflict」(衝突發生)。
    • 示範如何「UndoMergeBeforeCommit」(提交前復原合併)和「UndoMergeAfterCommit」(提交後復原合併)。
    • 示範「Git指令」來刪除所有已經合併的「Branch」(分支)。

    🚀 版控神器Git第3篇: 深入討論LocalBranch和RemoteTrackingBranch和RemoteBranch和AnnotatedTag和LightweightTag。
    🚩 示範SourceTree和TortoiseGit圖形介面工具。詳解Git指令用法。深入分析LocalBranch(本地分支)和RemoteTrackingBranch(遠端追蹤分支)和RemoteBranch(遠端分支)和AnnotatedTag(標示標籤)和LightweightTag(輕量標籤)。
    • 示範使用「SourceTree、TortoiseGit、Git指令」執行「HttpsClone」來複製「GitHub、GitLab、BitBucket、AzureDevOpsService」。
    • 示範使用「Git指令」執行「HttpsClone」來複製2個不同「GitHub」帳號底下的「Repository」到同一台電腦。
    • 示範使用「SourceTree、TortoiseGit」(不包含「Git指令」)執行「SshClone-PuttyKey」搭配「PublicKey-AccountKey」(公開Key-帳號Key)來複製「GitHub、GitLab、BitBucket、AzureDevOpsService」。
    • 示範使用「SourceTree、Git指令」(不包含「TortoiseGit」)執行「SshClone-OpenSsh」搭配「PublicKey-AccountKey」(公開Key-帳號Key)來複製「GitHub、GitLab、BitBucket、AzureDevOpsService」。
    • 示範使用「Git指令」執行「SshClone-OpenSsh」搭配「PublicKey-AccountKey」(公開Key-帳號Key)來複製2個不同「GitHub」帳號底下的「Repository」(代碼倉庫)到同一台電腦。
    • 示範使用「SourceTree、Git指令」(不包含「TortoiseGit」)執行「SshClone-OpenSsh」搭配「PublicKey-ProjectKey」(公開Key-專案Key)來複製「GitHub、GitLab、BitBucket、AzureDevOpsService」。
    • 比較「LocalBranch、RemoteTrackingBranch、RemoteBranch」(本地分支、遠端追蹤分支、遠端分支)。討論「Fetch、Pull、Push」和「.git/FETCH_HEAD」的觀念。
    • 示範把「LocalRepository」(本地倉庫)上傳到「GitHub」變成「RemoteRepository」(遠端倉庫)。
    • 示範把「RemoteRepository」(遠端倉庫)從「GitHub」搬家到「AzureDevOpsService」。
    • 討論「SemanticVersioning2.0.0」(版本命名方式)。討論「AnnotatedTag、LightweightTag」(標示標籤、輕量標籤)都有「LocalTag、RemoteTag」(本地標籤、遠端標籤),但沒有「RemoteTrackingTag」(遠端追蹤標籤),這點和「Branch」(分支)觀念不一樣。
    • 示範「建立、刪除、Fetch、Push、Checkout」Tag(標籤)。
    • 示範列出全部「LocalTag」(本地標籤)。示範列出全部「RemoteTag」(遠端標籤)。示範列出全部「LocalTag、RemoteTag」(本地標籤、遠端標籤)。
    • 示範刪除一個「LocalTag/RemoteTag」(本地標籤/遠端標籤)。示範刪除全部「LocalTag/RemoteTag」(本地標籤/遠端標籤)。
    • 示範當「RemoteTag」(遠端標籤)被刪除了,刪除相對應的「LocalTag」(本地標籤)。
    • 稍微討論"GitFlowWorkFlow"和"Tag"之間的關係。
    • 討論「RemoteRepository」(遠端代碼倉庫)隨著時間推移會越來越大,導致每次執行「git clone」都要等很久。所以示範「git clone --depth=N」去複製大型的「RemoteRepository」(遠端代碼倉庫)的某一個「Branch/Tag」(分支/標籤),這是個超級實戰技巧。
    • 假設你想把「GitHub」上的「RemoteRepository」(遠端代碼倉庫)搬家到別的Git伺服器,但是你還沒決定好搬家到哪。所以示範使用「git clone bare」暫時從「GitHub」搬家到本地端。假設確定搬家到「AzureDevOpsService」,所以示範從本地端上傳到「AzureDevOpsService」。

    🚀 版控神器Git第4篇: 深入討論Diff&Patch和GitIgnore和Stash和WorkTree和GitBlame和GitShow和GitBundle。
    🚩 示範SourceTree圖形介面工具。詳解Git指令用法。深入分析Diff&Patch(比較和補丁)和GitIgnore(Git忽略)和Stash(存放區)和WorkTree(工作樹)和GitBlame(Git責備)和GitShow(Git顯示)和GitBundle(Git捆束)。
    • 討論「index」(站存區)觀念。討論「GitDiff&Patch」觀念。
    • 示範「git diff」搭配「--name-status、--diff-filter=[(A|C|D|M|R|T|U|X|B)…[*]]」過濾留下所需資訊,可以告知客戶你到底變動了什麼。
    • 示範「git diff」指令來建立「Patch檔案」。
    • 示範「git apply、git apply -R」(進版&退版)來將「Patch檔案」套用在「Hosting」(網站空間)上面。
    • 示範「GitIgnore」(Git忽略)的使用方式,包括忽略「File、Folder、Hierarchy、Extension副檔名」,然後討論現成的「GitIgnoreTemplate」。
    • 示範「GitStash」的各種實用技巧。示範建立「Stash」。討論「git stash apply...、git stash pop...」的差異和比較。
    • 示範「DisplayAllStash : git stash list」來顯示所有的「Stash」。
    • 示範「DisplayStash(Patch) : git stash show (-p) [StashIndex]」來顯示某一個特定的「Stash」內的修改。
    • 示範刪除一個「Stash」,示範刪除所有的「Stash」。
    • 示範「CreateBranchCheckoutBranchApplyStashDeleteStash : git stash branch [Branch] [StashIndex]」,這會建立一個「Branch」(分支),然後「Checkout」到該「Branch」(分支),然後套用該「Stash」,並且刪除該「Stash」。
    • 示範實用性高但訪間少人知道的「WorkTree」的使用技巧,這可在另一個資料夾內「Checkout」到另一個「Branch」(分支),而原資料夾還是可停留在「OriginalBranch」(原分支)。
    • 示範「GitLog、GitShow、GitBlame」的各種實用技巧。示範「GitShow」來定位「Bug」所在的「Commit」(提交)。 示範「GitBlame」來找出寫「Bug」的兇手。
    • 示範「GitLog、GitDiff」搭配「--stat」觀察「Commit」(提交)內的修改,交付IT產品時,這指令可壤客戶知道我們的勞作來邀功。
    • 示範「GitLog」搭配「--pretty、--since」可以只顯示某一段時間內的「Log」,再搭配「--author」可以只顯示某一個作者所做的修改「Log」。並且使用「git log --oneline | wc -l」,觀察在「CurrentBranch」(目前分支)上面有多少個「Commiot」(提交),用來衡量工程師的工作效率。
    • 示範使用「GitBundle」來解決當「WorkingFromHome」(WFH在家工作)卻無VPN權限連到公司私人的「Repository」(代碼倉庫)時的情境
    • 假設某公司的「Repository」(代碼倉庫)是「host」在公司本地端,因為疫情,大家都要WFH,可是公司需要準備時間去開放VPN的權限讓工程師連到公司內部的「Repository」(代碼倉庫),這段時間工程師們連不到公司的「Repository」(代碼倉庫)卻還需要繼續工作。此Tutorial示範使用「GitBundle」來解決當WFH卻無VPN權限連到公司私人的「Repository」(代碼倉庫)時的情境。

    🚀 版控神器Git第5篇: 深入討論Rebase和Revert。詳解InsertCommit和UpdateCommit和DeleteCommit。
    🚩 示範SourceTree圖形介面工具。詳解Git指令。關於Rebase和Reset。詳解Rebase執行DeleteCommit和EditLastCommit和EditAnyCommitMessage和EditAnyCommit和InsertCommit和ReorderCommit和SquashCommits和RebaseBranch。
    • 使用「SourceTree、Git指令」。示範執行「git reset soft/mixed/hard」來刪除多個「Commits」(提交)。示範執行「git rebase」來刪除一個「Commit」(提交)。示範「git rebase」來做「EditAnyCommitMessage、EditLastCommit、ReorderCommit」(更改任意一個提交訊息、更改最新提交、排列提交順序)。示範「git rebase」來做「SquashCommit」(壓縮提交),「Squash」(壓縮合併)特定的「Commit」(提交)到前一個「Commit」(提交)。示範「git rebase [Branch]」來做「RebaseBranch」(重設分支起點)。將「CurrentBranch」(目前分支)「Rebase」到「[Branch]」(分支)。「CurrentBranch」(目前分支)的「StartCommit」(起始提交)將會變成此「[Branch]」(分支)的「LatestCommit」(最新提交)。
    • 使用「Git指令」示範「git rebase」來做「EditAnyCommit、InsertCommitAfterAnyCommit」(更改任意提交、插入提交到任一提交之後)。
    • 使用「SourceTree」示範「RevertCommit、RevertHunk」(回復提交、回復部分),使用「Git指令」示範「RevertCommit」(回復提交)。
    • 「DeleteCommit」(刪除提交)和「RevertCommit」(回復提交)的差異在於,「DeleteCommit」(刪除提交)之後,那一個「Commit」(提交)就沒有了。「RevertCommit」(回復提交)之後,是產生一個新的「Commit」(提交)來取消之前的「Commit」的變動。
    • 如果「git rebase」中途,遇到「Conflict」(衝突),可以執行「git rebase --abort」放棄,或是執行「P4Merge」解決「Conflict」(衝突)後,再使用「git rebase --continue」。
    • 當「git rebase」結束後,可以執行「git push --force」(強制推),或是執行「git reset --hard ORIG_HEAD」來復原此次「git rebase」。
    • 示範復原「DeletedCommit、DeletedFile、DeletedFolder」(被刪除的提交、被刪除的檔案、被刪除的資料夾)。

    🚀 版控神器Git第6篇: 深入討論GitHook。備份GitConfig。GitHook搭配Jest和PreCommit和Husky和Eslint和EslintConfig和LintStaged。
    🚩 示範SourceTree圖形介面工具。詳解Git指令。示範備份GitConfig。深入討論GitHook(Git鉤子)搭配Jest和PreCommit和Husky和Eslint和EslintConfig和LintStaged。
    • 圖解「GitHook」觀念。
    • 討論「PreCommit」搭配「NpmPackage-Jest」,在「Commit」(提交)前,先測試全部的「Js檔案」。備份「GitHook、GitConfig」(Git鉤子、Git設定)。
    • 示範「post-commit」在「Commit」(提交)之後顯示更多訊息。示範「pre-rebase」可以阻擋「git rebase」。示範「--no-verify」來暫時地忽略所有的「GitHooks」。
    • 討論「NpmPackage-HuskyV4&7」來執行「PreCommit」搭配「NpmPackage-Jest、Eslint、LintStaged、CommitLintCli」。
    • 「Jest」會在「Commit」(提交)前,先測試全部的「Js檔案」。
    • 「Eslint」可以根據「AirBnb」的規則來「Verify」(驗證)「Js檔案」的「Syntax」(語法)。
    • 「LintStaged」只會「Verify」(驗證)被「Staged」的「Js檔案」,如果沒有「LintStaged」,則會「Verify」(驗證)全部的「Js檔案」,這會浪費資源。
    • 「CommitLintCli」會「Verify」(驗證)「CommitMessage」(提交訊息)的「Prefix」(前綴)一定是「#」開頭。
    • 搭配「Pre-Commit」的「AvoidNonASCIIFileName」(避免非ASCII檔案名)可以阻擋「Commit」(提交)「ChineseCharacterFileName」(中文檔案名)。
    • 搭配「Pre-Commit」的「EmailValidation」(信箱驗證)可以強制使用「CompanyEmail」(公司信箱)才能「Commit」(提交)。
    • 討論備份「GitHook、GitConfig」(Git鉤子、Git設定)。

    🚀 版控神器Git第7篇: 深入討論Git底層觀念。詳解GitObject包括Blob和Tree和Commit和Tag。討論Compress和ShrinkRepository。
    🚩 您是否遇到Git靈異現象卻不知道從哪下手?深入Git底層觀念才能分析各種靈異現象。詳解GitObject(Git物件)包括Blob(團)和Tree(樹)和Commit(提交)和Tag(標籤)。討論Compress(壓縮)和ShrinkRepository(縮減倉庫)。
    • 討論在「.git/object」中的3種「GitObject-Blob、Tree、Commit」底層物件觀念。
    • 討論「Branch、HEAD、DetachedHead」(分支、頭、獨立頭)的底層觀念。
    • 討論「RecoverCommit」(復原提交)的底層觀念。
    • 討論「FastForwardMerge、3WayMerge、ORIG_HEAD」(快進合併、三路合併、原始頭)的底層觀念。
    • 討論「LocalBranch、RemoteTrackingBranch、RemoteBranch」(本地分支,遠端追蹤分支,遠端分支)底層觀念。
    • 討論「AnnotatedTag、LightweightTag」(標示標籤、輕量標籤)和「LocalTag、RemoteTag」(本地標籤、遠端標籤)底層觀念。
    • 討論「git push origin -u [branch1] [branch2]...etc」底層觀念,避免使用「git push --all、git push origin [Branch]」底層觀念。
    • 討論「git fetch、git pull」所產生的「FETCH_HEAD」底層觀念。
    • 討論「git fetch --prune、git fetch --prune --prune-tags 」底層觀念。
    • 討論壓縮底層觀念,包括「git gc、git verify-pack -v "xxx.pack"、git unpack-objects」(壓縮物件、查看被壓縮的物件、解壓縮物件)。
    • 討論執行「git add」所造成的「DanglingBlob」(懸空Blob)的底層觀念。
    • 討論執行「DeleteBranch」(刪除分支)所造成的「DanglingCommit」(懸空提交)的底層觀念。
    • 討論執行「git rebase」後,而舊的「Commit」(提交)會變成「DanglingCommit」(懸空提交)的底層觀念。
    • 討論執行「git reset」,而「DeletedCommits」(被刪除的提交)會變成「DanglingCommit」(懸空提交)的底層觀念。
    • 討論刪除「AnnotatedTag」(標示標籤)的底層觀念,這會刪除此「GitReference-.git/refs/tags/1.0.1」,然後「GitTagObject-.git/objects/XX/XXXX...」就會變成「DanglingTag」(懸空標籤)。
    • 討論所有的「DanglingCommit」(懸空提交)都會連接到它自己的「Trees、Blobs」。
    • 示範刪除全部的「DanglingCommit」(懸空提交)的底層觀念。
    • 討論如何「ResetGitRepository、ShrinkGitRepository」(重製Git代碼倉庫、縮小Git代碼倉庫)的底層觀念。
    • 討論「origin」的底層觀念。

    🚀 版控神器Git第8篇: 深入討論GitHub。討論CentralizedWorkflow和FeatureBranchWorkflow和ForkingWorkflow和GitFlowWorkflow。
    🚩 深入討論GitHub的實用技巧。討論CentralizedWorkflow(集中式工作流)和FeatureBranchWorkflow(功能分支工作流)和ForkingWorkflow(叉工作流)和GitFlowWorkflow(Git流工作流)。
    • 介紹「GitHub-Watch、Star、Fork、TagAndRelease、Branch、Commit、GitClone、DownloadZip」(看、星、標籤和發行、分支、提交、Git複製、下載Zip)。
    • 討論「GitHub-Wiki、README.md、Tag、Release、Page、CustomDomain」(維基,讀我、標籤、發行、頁、自訂網址)。
    • 討論"GitHub-Collaborator、Project、Issue、PullRequest"(共同開發者、專案、議題、請求合併)。封存在「Project」(專案)的「Issue」(議題)。
    • 討論「DefaultBranch」(預設分支)和「BranchProtectionRules」(分支保護規則)。
    • 討論「"GitHub-Organization、Team、Project」(機構、組、專案)。
    • 討論「Organization-Repository"」(機構-代碼倉庫)、「Organization-Member」(機構-組員)、「Organization-Team」(機構-組)、「Organization-Team-Member」(機構-組-組員)。
    • 比較「Organization-Project」(機構-專案)和「Organization-Repository-Project」(機構-代碼倉庫-專案)。
    • 討論「Organization-ParentTeam」(機構-父組)和「Organization-SecretTeam」(機構-密組)。
    • 討論使用「Fork」來備份其他人的「GitHub-PublicRepository」(GitHub公開倉庫)。
    • 討論使用「Fork、PullRequest」來合併自己的修改到其他人的「GitHub-PublicRepository」(GitHub公開倉庫)。
    • 使用「SourceTree-GitFlow」按鈕和「Git指令」來實作「GitFlowWorkFlow」(Git流工作流)理論。
    • 討論「CentralizedWorkflow、FeatureBranchWorkflow、ForkingWorkflow、GitFlowWorkflow」(集中式工作流、功能分支工作流、叉工作流、Git流工作流)。


    為什麼我們需要使用到Git?

    首先我們先思考一下這個情境,如果你獨立工作,你沒有任何的團隊,你當然可以用任何方法去管理你的程式碼。舉例來說,你可以用Folder(資料夾)的命名方式來管理你的程式碼的Version(版本)。資料夾可以取名為OnlineGameV1_20200401或是OnlineGameV2_20200402,也就是「軟體名稱_版本名稱_出版日期」這樣的命名方式。

    但是這種方式實在很難在團隊裡面被使用,請你思考一下這個情境,在軟體開發過程中,我們常常會在不同的團隊之間打轉,每個團隊大概都有不少人 我們要如何保證程式碼版本不會失控?

    所以我們需要一種東西,這東西可以記錄「What、Who、When、Where、How」

    • What - 發什麼什麼事情?
    • Who - 是誰幹的? (兇手是誰?)
    • When、Where、How - 何時發生? 案發現場在哪? 怎麼發生的?

    我們需要一種東西,這種東西可以將所有的工作拆散成多個小工作,然後分派給不同的組員,讓大家各個擊破。然後組員可以將這些小工作完成後,上傳到一個固定的地方。這個固定的地方可以合併所有人的程式碼,並且變成一個IT產品。另外,開發過程中,難免會產生Bug,所以我們需要一個「程式碼時光機」,用來比較程式碼在不同的時間點有什麼不同的變化。透過這樣的比較,我們可以調查出是什麼問題產生這個Bug。甚至,我們可以透過「程式碼時光機」穿越到不同的時間點去修改該時間點的程式碼,進而解決修復此Bug。「版控神器Git」可以讓這些成為現實!!!


    Git要從哪邊開始入門?

    版控神器Git」是一個超級強大的版控工具,個人和團隊都適用,幾乎是每個工程師不可或缺的技能。但是「Git指令」其實很不容易入門。常常很多人只要看到黑色的「GitBash」畫面,需要輸入「Git指令」,就不知道要從何下手,只好就兩手一攤,求放過。所以,我個人建議,初學者最好透過「Git圖形介面工具」入門。但是,市面上有很多「Git圖形介面工具」,到底要用哪一個呢?

    我個人是推薦使用「GitKraken(點我)」。GitKraken的圖形介面真的是讓我覺得非常的直覺,不需要經過太多訓練,很快就可以上手。但是,GitKraken並不是每個功能都是免費的。免費版本的GitKraken只是閹割版本的GitKraken。舉例來說,如果要執行「git clone」複製遠端的PrivateRepository(私人代碼倉庫),那麼就必須使用付費版本的GitKraken。事實上,在現實工作環境中,並不是每一個公司都願意付費使用GitKraken。所以,我個人只好推薦兩個「完全免費Git圖形介面工具」。


    SourceTree」和「TortoiseGit」都可以執行「git clone」複製遠端的PrivateRepository(私人代碼倉庫),並且完全免費,無須任何負擔,可以輕鬆透過圖形介面學會各種「Git觀念」。其中,我個人認為「SourceTree」圖形介面比「TortoiseGit」圖形介面更直覺。我個人平常是比較偏好於使用「SourceTree」搭配「Git指令」來完成工作。但是別擔心,本「版控神器Git眉角學程」是 「三刀流課程」,會讓你同時精通「SourceTree、TortoiseGit、Git指令」



    🚀 個人建議Git安裝步驟

    # 工欲善其事,必先利其器。(請參考「工具下載與安裝」-Tutorial018to026(點我))

    🍳 步驟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


    🧩 圖解各種Merge(合併)

    📐 3WayMerge(三路合併)

    # 請參考「版控神器Git眉角學程-Git第2篇」-Tutorial009(點我)
    T008to11_Summary01_3WayMerge.pngT008to11_Summary02_UndoMerge.png

    📏 FastForwardMerge(快進合併)、NonFastForwardMerge(非快進合併)、NoFastForwardNoCommitMerge(非快進非提交合併)

    # 請參考「版控神器Git眉角學程-Git第2篇」-Tutorial008(點我)
    T008to11_Summary03_FastForwardMerge.png

    🍻 SquashMerge(壓縮合併)

    # 請參考「版控神器Git眉角學程-Git第2篇」-Tutorial010(點我)
    T008to11_Summary04_SquashMerge.png

    🍒 CherryPick(採櫻桃)

    # 請參考「版控神器Git眉角學程-Git第2篇」-Tutorial011(點我)

    🍒 CherryPickNCommits(採N個櫻桃)

    # 請參考「版控神器Git眉角學程-Git第2篇」-Tutorial011(點我)


    深入「HttpsClone、SshClone-PuttyKey、SshClone-OpenSsh」

    請參考「版控神器Git眉角學程-Git第3篇」-Tutorial013To018(點我)

    有2種執行「git clone」的方式,就是「HttpsClone」和「SshClone」。其中又有2種執行「SshClone」的方式,就是「SshClone-PuttyKey、SshClone-OpenSsh」。我個人推薦使用「SshClone-OpenSsh」。「HttpsClone」複製下來的「Repository」(代碼倉庫),可以使用「SourceTree、TortoiseGit、Git指令」同時操控,如果同一台電腦只需要登入一個帳號,強力推薦使用「HttpsClone」。「SshClone-PuttyKey」複製下來的「Repository」(代碼倉庫)可以使用「SourceTree、TortoiseGit」同時操控,很難使用「Git指令」操控,非常不推薦使用。「SshClone-OpenSsh」複製下來的「Repository」(代碼倉庫)可以使用「SourceTree、Git指令」同時操控,如果同一台電腦必須要登入多個帳號,只需設定「~/.ssh/config」檔案和「.git/config」檔案即可,所以強力推薦使用「SshClone-OpenSsh」。

    「SshClone」的觀念是產生一組相對應的「PublicKey」(公開鎖匙)和「PrivateKey」(私人鎖匙)。「PublicKey」(公開鎖匙)必須上傳到「GitHub、GitLab、BitBucket、AzureDevOps」。「PrivateKey」(私人鎖匙)留在本地端。如果本地端特定的「PrivateKey」(私人鎖匙)可以對應到「GitServer」(雲端Git伺服器)特定的「PublicKey」(公開鎖匙),那我就可以執行「git clone」。

    根據「Permission」(權限),又細分為2種「PublicKey」(公開鎖匙)。第1種是「PublicKey-AccountKey」(公開Key-帳號Key),可以執行「git clone」來複製我的「Account」(帳號)底下所有的「RemoteRepository」(遠端代碼倉庫)。第2種是「PublicKey-ProjectKey」(公開Key-專案Key),只能執行「git clone」來複製某一個特定的「RemoteRepository」(遠端代碼倉庫)。「GitHub、GitLab」的「PublicKey-ProjectKey」(公開Key-專案Key)其實就是「DeployKey」,權限可設為「Read、Read&Write」。「BitBucket」的「PublicKey-ProjectKey」(公開Key-專案Key)其實就是「AccessKey」,權限只能設為「Read」,不能設為「Read&Write」。「AzureDevOpsService」沒有「PublicKey-ProjectKey」(公開Key-專案Key),只有另一個不同的觀念「PersonallyAccessToken」(個人存取令牌)



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

    # 請參考「版控神器Git眉角學程-Git第3篇」-Tutorial019(點我)
    GitCheatSheet02_Branches.png


    圖解「Tag」(標籤)

    # 請參考「版控神器Git眉角學程-Git第3篇」-Tutorial022(點我)
    GitCheatSheet04_Tag.png


    圖解「Index、GitDiff、Patch」

    # 請參考「版控神器Git眉角學程-Git第4篇」-Tutorial025(點我)
    GitCheatSheet03_GitDiffPatch.png


    圖解「RebaseBranch」

    # 請參考「版控神器Git眉角學程-Git第5篇」-Tutorial040(點我)
    T040_Summary01_RebaseBranch.pngT040_Summary02_RebaseBranchConflict.png


    圖解「GitHook」

    # 請參考「版控神器Git眉角學程-Git第6篇」-Tutorial041(點我)
    T041_02_Hook.png


    圖解「Git底層觀念」

    # 請參考「版控神器Git眉角學程-Git第7篇」-Tutorial048(點我)
    T048_17_01.pngT048_17.png

    # 請參考「版控神器Git眉角學程-Git第7篇」-Tutorial049(點我)
    T049_09_01.pngT049_09.png

    # 請參考「版控神器Git眉角學程-Git第7篇」-Tutorial050(點我)
    T050_10_01.pngT050_10.pngT050_11.png


    購課學員,一致好評。



    購課保障

    # 歡迎訂閱!!歡迎自學!!歡迎分享!!
    老規矩,「Git講義」全部免費公開在我的「Blogger」(點我)
    部分「Git教學影片」也免費公開在我的「Youtube頻道」(點我)

    😵 阿,老師,如果看免費的「Git講義」還是不懂,該怎麼辦呢?
    恩恩,那只能買課程啦。顆顆。😂
    😵 阿,老師,我預算有限,該怎麼辦呢?
    「Not a problem!!」,可以來我的「IT工具人學院」(點我)挖寶。🦴🐶
    😵 阿,老師,上課內容有問題,該怎麼辦呢?
    別怕,生死看淡,不服就幹。可以來我的「IT工具人學院Facebook討論區」(點我),歡迎討論。🧐

    # 我過去的課程都有持續維護,不定期更新,都不會額外收費喔!!請放心服用。
    # 天道好輪迴,蒼天人過誰?出來混,總是要還技術債的。
    若您也想扎實打底「Git」,我的「版控神器Git眉角學程」加上「版控神器Git速成班」,將讓您,收穫滿滿!歡迎加入「IT工具人學院,帶你學到會」,一起練功吧!!顆顆。


    授課講師 Kevin Lin

    IT工具人學院折價眷官網IT工具人學院折價眷官網IT工具人課程課後輔導討論版IT工具人臉書頁IT工具人講義部落格IT工具人Youtube頻道
    技術移民到澳洲的.NET Developer,對於.NET領域的相關技術與各式開發方式、多種前後端框架與工具、版控系統,皆有深入的研究。畢業於澳洲多個大學,其中2所全校第1名畢業,最高學歷為碩士。現任HiSKIO線上課程特約講師,以及IT工具人學院創辦人。以一門銜接一門的扎實打底學程,幫助許多想成為.NET Developer的朋友們,繞過彎路,快速學習。
    • 2013 Certificate I in Hospitality (Provide Responsible Service of Alcohol) QHA QLD。酒精飲料服務責任執照,昆士蘭餐飲協會。
    • 2011 Graduate Diploma in IT Management CQU QLD。IT管理研究生文憑,中央昆士蘭大學,該屆全校第1名畢業。
    • 2010 Certificate IV in Property (Real Estate) Professional Real Estate Training QLD。專業昆士蘭房地產培訓4級證書。
    • 2010 Master of Information System Griffith QLD。信息系統碩士,格里菲斯大學。
    • 2008 Bachelor of IT Software Architecture QUT QLD。IT軟件架構學士,昆士蘭科技大學。
    • 2005 Diploma in Information Technology QIBT QLD。IT專業文憑證書,昆士蘭商業技術學院,該屆全校第1名畢業。

    章節目錄

    • 1-1
      FAQ-Handout,SampleCode(常見問題-講義、範例程式碼)
    • 1-2
      (P0)Git(1to8)(版控神器)(眉角學程)
    • 1-3
      (P4)Git課程使用說明書
    • 1-4
      (P5-1)整個學程簡介
    • 1-5
      (P5-2)GitEpisode1(第1篇)-Stage、Commit
    • 1-6
      (P5-3)GitEpisode2(第2篇)-Branch、Merge
    • 1-7
      (P5-4)GitEpisode3(第3篇)-LocalBranch、RemoteTrackingBranch、RemoteBranch、AnnotatedTag、LightweightTag
    • 1-8
      (P5-5)GitEpisode4(第4篇)-Diff、Patch、GitIgnore、Stash、WorkTree、GitBlame、GitShow、GitBundle
    • 1-9
      (P5-6)GitEpisode5(第5篇)-Rebase、Revert、InsertCommit、UpdateCommit、DeleteCommit
    • 1-10
      (P5-7)GitEpisode6(第6篇)-BackUp GitConfig、GitHook、Jest、PreCommit、Husky、Eslint、EslintConfig、LintStaged
    • 1-11
      (P5-8)GitEpisode7(第7篇)-GitObject、Blob、Tree、Commit、Tag、Compress、ShrinkRepository
    • 1-12
      (P5-9)GitEpisode8(第8篇)-GitHub、(Centralized、FeatureBranch、Forking、GitFlow)Workflow
    • 1-13
      (P5-10)Git(版控神器)CrashCourse(速成班)

    試閱影片

    常見問答

    如果您購買的是募資課程,請在課程的【簡介】中查看開課時間,募資課程將於開課時間所述日期開放同學上課。

     

    若您購買的是一般課程(開放上課課程),則在購買完成後可以立即開始觀看。

     

    所有線上課程皆不受時間限制,享無限次永久觀看!

    猜你喜歡

    用戶評價

    | 收集中

    購買前問答

    | 尚無內容

    銷售方案