Git特訓第二週-Git 遠端 Repository 操作

Git特訓第二週-Git特訓第二週-Git 遠端 Repository 操作-連結
1-git 指令對照 SourceTree 介面
1-1-本機端數據庫
1-2-GitHub 遠端數據庫
2-常用環境設定
2-1-自定輸入簡碼
2-2-觀看所有 config 的設定
3-Git 與 Github 是什麼?
4-熱門遠端儲存庫(Github VS Bitbucket VS Gitlab)
5-遠端儲存庫 (Repository) 操作
5-1-註冊遠端儲存庫 (使用多重遠端數據庫)
5-2-為何使用多重遠端數據庫
5-3-使用 bitbucket 遠端數劇庫
5-3-1-GitHub & bitbucket 群組比照
5-3-2-新加 repository 遠端數劇庫
5-3-3-本地端多加入新的 bitbucket 遠端數劇庫分支與分支命名
5-3-4-加入新的成員到數劇庫裡
5-3-5-Git 指令 -u 預設推到遠端分支
6-Git 版本細節
6-1-checkout 切換分支
6-2-git 分支結構
6-3-切換 HEAD 到遠端分支上
7-還原技巧
7-1-檔案未追蹤與加入追蹤狀態
7-2-新增檔案時,檔案還沒加追蹤時,清空工作目錄
7-3-檔案已加入追蹤,清空工作目錄
7-4-檔案加入到索引,退到工作目錄
7-5-版本還原


Git特訓第三週-Git 分支教學

Git特訓第三週-Git 分支教學-連結
1-分支與 commit 的簡介
2-什麼是分支
2-1-本地分支與遠端分支 GitHub
2-2-GitHub Pages 靜態頁面
2-3-為何使用分支-正式與測試主機使用的開發的分支
2-4-開啟新分支
2-5-查看目前有多少分支
2-6-切換分支
2-7-切換分支與 HEAD
2-8-合併分支
2-8-1-合併方式一 – git merge <合併對象分支名> (合併分支執行快轉)
2-8-1-1-切換到要合併分支上,與對象分支進行合併 (由舊分支沒有的內容取得新分支上的內容)
2-8-1-2-執行合併分支指令 (git merge <對象分支>)
2-8-2-合併方式二 – git merge <合併對象分支名> –no-ff (合併分支不執行快轉)
3-透過 learngitbranching 了解分支操作
3-1-第一題 ( git merge 所產生合併的快轉 )
3-2-第一題補充說明-合併分支的使用情境
3-3-第二題 ( git reset HEAD^ 還原記錄點並重新修正分支記錄點、快轉情形下合併會不知合併時間點 )
3-4-第三題 (分支使用情境)
3-5-第四題 ( git merge 加參數 –no-ff 不讓合併產生快轉 )
3-6-第五題 ( 在不同分支上已有各自的記錄點,不需在加上 –no-ff 參數合併分支 )
3-7-第六題 (遠端分支與本地 master 分支配合本地 dev 分支,不影響遠端分支在本地進行開發)
3-8-第七題 ( 本地分支合併加 –no-ff 參數 )
3-9-第八題 ( 本地 dev 分支與遠端分支配合更新,將遠端分支透過合併更新至最新記錄點 )
3-10-第九題 ( 本地分支進行 dev 分支更新內容,等待確任後再將遠端分支,進行合併更新至最新記錄點 )
3-11-第十題 ( 本地分支 master 合併二個不同的測試分支,不需使用 –no-ff 合併參數 )
4-learngitbranching 分支 commit 記錄點分享方式


Git特訓第四週-Git 分支還原與衝突

Git特訓第四週-Git 分支還原與衝突-連結
1-還原技巧
1-1-還原記錄點 git reset HEAD^ (將原本提交的記錄點退回到工作目錄狀態)
1-2-直接退到指定的記錄點上,還原時略過將工作目錄狀態
2-checkout 與 reset 差異
2-1-checkout HEAD 到指定的記錄點上
2-2-使用 checkout 切換 HEAD 流程操作
2-2-1-例題一 (HEAD 切換到指定的 commit 記錄點上)
2-2-2-例題二 (HEAD 切換到指定的 commit 記錄點上)
2-2-3-例題三 (git reset 退到指定的 commit 記錄點後與其他分支合併後在新增 commit 記錄點 )
2-2-4-例題四 (git reset <退回 commit> 與 git revert <捨棄並另新增 commit> – 二者的使用差異)
2-3-使用 git reset 退回記錄點後,想在回到還沒退回前的狀態 (誤刪記錄點的處理方式)
3-發 PR 流程
3-1-GitHub 發 PR 的情境
3-2-GitHub Fork 將數據庫複製一份到自已的數據庫列表中
3-3-將 GitHub fork 在 master 新增 commit
4-衝突
4-1-產生衝突
4-2-解決衝突
4-3-重新製作一次決解衝突
5-遠端衝突


Git特訓第五週-Git Flow、GitHub Flow

Git特訓第五週-Git Flow、GitHub Flow-連結
1-常見合作流程
1-1-Git flow 開發分支的使用差異
1-1-1-develop 分支
1-1-2-relese branches 分支
1-1-3-hotfixes 分支
1-2-GitHub flow
1-2-1-GitHub flow 主要的流程
1-2-2-Git Flow 開發分支與 master 分支說明
2-協作流程
2-1-情境與執行步驟
2-2-本地端建立 node.js 環境與 GitHub
2-3- .gitignore 不進入版控的設定
2-4-修改內容後更新,確任新的 commit 記錄
2-5-新增 dev branch
2-6-新增 GitHub Repo 並 push
2-7-新增 heroku Repo 並 push
2-8-GitHub Flow 配合 heroku 遠端多入協作實際佈署
2-8-1-環境建好後對 master (主線)、開發 (dev)、功能 (feature) 分支與協作開發者的使用區別
2-8-2-協作開發者針對開發 (dev) 分支,另外開出獨立的功能分支 (feature),在完成處理後推上遠端並提出 PR
2-8-3-GitHub PR 的討論與分支管理者合併
2-8-4-點按 PR commit 標題討論程式碼,在瀏覽器上產生該行程式碼的位置編號
2-8-5-分支管理者確任 PR 沒問題後,o/master 進行分支合併
2-8-6-第二個協作開發者 (王志誠) 接續開發其他功能 (f/view)
2-8-7-Heroku 自動將 GitHub master 新增的 commit 做自動化佈署
2-8-8-第二個協作開發者使用的 GitHub Flow 指令,發送 PR
2-8-9-管理者針對 PR 過的 dev 分支,先在本地端的 master 分支合併遠端 dev 分支後,在推向遠端的 master 分支
3-slido 發問
3-1-Q-遠端上的線圖合併時不會快轉 ?
3-2-Q-pull = fetch = merge ?
3-3-Q-私人公司 REPO 協作,需要主要帳號授權或是 SSH + 金鑰的方式嗎 ?
3-4-Q-第五步驟,push master and then tush dev 在本地需要切換分支嗎 ?
3-5-Q-如果 PR 時的討論發現有錯誤,不在線上條改的話,要重新 commit 再重發 PR ?
3-6-Q-Git Flow 好難
3-7-Q-請問自動部署是因為 heroku 自動設定的關係嗎 ?
3-8-Q-自動部署會直接覆蓋 master 嗎 ?
3-9-Q- .gitignore 可以針對不同分支獨立設定嗎,約是如何使用的情境才用的到 ?
3-10-Q-為何 dev 是指向 o/dev ? 而不是二個都指向該 commit 節點 ?


相關共用資源

1-課程影片與文件

1. Git 環境建立與基本指令 – 2019/10/17 (四)
影片網址:https://youtu.be/T6gzdSu6AlY
教學文件:https://quip.com/pFUnA7u75HbL

2. Git 遠端 Repository 操作 – 2019/10/24 (四)
影片網址:https://youtu.be/h8HxR9GDtJU
教學文件:https://quip.com/GL4gAFIc2KdI

3. Git 分支教學 – 2019/10/29 (二)
影片連結:https://youtu.be/buecKro3Tq8
教學文件:https://quip.com/g9gIAQXVBmF2

4. Git 分支還原與衝突 – 2019/11/07 (四)
影片網址:https://youtu.be/WWntXUUVnG8
教學文件:https://quip.com/wHoZADrso6Sx/Git-

5. GitHub Flow 團隊開發 – 2019/11/14 (四)
影片網址:https://youtu.be/g-QIRgkR3Cg
教學文件:https://quip.com/jKX4A8HrkdXb/Git-FlowGitHub-Flow

2-Git 練習遊戲

網址:https://learngitbranching.js.org/
Git 練習遊戲_learngitbranching-目錄