網址:https://learngitbranching.js.org/


1-基礎篇

循序漸進地介紹 git 主要命令

1-基礎篇-連結頁面
1-介紹 git commit
1-1-說明
1-2-解題
2-建立 git branch
2-2-說明
2-2-解題
3-git 中的 merge
3-1-說明
3-1-1-branch 以及 merge
3-2-解題
4-介紹 rebase
4-1-說明
4-1-1-git rebase
4-1-2- HAED 於目前分支上直接指定另外分支名
4-1-3-同線同基底上使用 rebase 將 commit 同步
4-2-解題


2-進階篇

接下來是 git 非常厲害的地方!相信你已經迫不及待了吧!

2-進階篇-連結頁面
1-分離 HEAD
1-1-說明
1-1-1-HEAD 移動
1-1-2-HEAD
1-1-3-分離 HEAD
1-2-解題
2-相對引用(^)
2-1-介紹
2-1-1-相對引用
2-2-解題
3- 相對引用二(~)
3-1-介紹
3-1-1- ~ 符號
3-1-2-Branch forcing
3-2-解題
4-在 git 中取消修改
4-1-介紹
4-1-1-取消 git 的修改
4-1-2-Git Reset
4-1-3-Git Revert


3-調整提交順序

自由修改提交樹

3-調整提交順序-連結頁面
1-介紹 cherry-pick
1-1-cherry-pick 基本用法
1-2-cherry-pick 解題
2-介紹互動式的 rebase
2-1-1-git rebase 的概念
2-1-2-git rebase 的參數
2-2-rebase 解題


4-活用 git 的指令

git 的技術,招數與技巧

Git 練習遊戲_learngitbranching-4-活用 git 的指令-連結頁面
1-只取一個 commit
1-1-介紹
1-1-1-在 local 的堆疊的 commit
1-2-解題
1-2-1-官網解法
1-2-2-解法一
2-commit 的戲法 (主要使用 git commit –amend,針對同線不同分支的連續 commit 其中一個 commit 修改,完成後將 master 分支併於修改後的新分支上)
2-1-說明
2-1-1-commit 的戲法
2-2-解題
3-commit 的戲法 #2 (cherry-pick 與 commit –amend 配合使用)
3-1-說明
3-2-解題
3-2-1-解法一
3-2-2-官網解法
4-git tag
5-git describe
5-1-說明
5-1-1-git describe 的使用方式
5-2-解題


5-進階主題

來成為真正的強者吧!

Git 練習遊戲_learngitbranching-5-進階主題-連結頁面
1-N次Rebase
1-1-說明
1-1-1-rebase 多個 branch
1-2-解題
1-2-1-解法一
1-2-2-官方解法
2-多個 parent commit
3-branch 漿糊
3-1-說明
3-1-1Branch Spaghetti
3-2-解題


6-Push & Pull — Git Remotes!

是時候分享你的程式碼了

6-Push & Pull — Git Remotes!-連結頁面
1-介紹 clone
1-1-說明
1-1-1-Git Remotes
1-1-2-我們去建立 remotes 的指令
1-2-解題
2-remote branch (遠端分支)
2-1-說明
2-1-1-git remote branch
2-1-2-什麼是 o/ ?
2-2-解題
3-git fetch
3-1-說明
3-1-1-git fetch
3-1-2-fetch 做了什麼
3-1-3-fetch 沒有做的事情
3-2-解題
4-git pull
4-1-說明
4-1-1-git pull
4-1-2-git pull 與 git fetch + marge
4-2-解題
5-模擬團隊合作
5-1-說明
5-1-1-模擬合作
5-2-解題
6-git push
6-1-說明
6-1-1-Git Push 將本地 master 分支推向遠端主機分支上
6-2-解題
7-diverged history
7-1-說明
7-1-1-Diverged Work (分叉作業)
7-1-2-遠端主機已有新的 commit 使用 git push 無法將本地 commit 推送
7-1-3-git rebase 解決 Diverged Work (分叉作業) 產生的問題
7-1-4-git fetch 取下遠端主機新分支後,在使用 git push 將 commit 合併後推送上遠端機主
7-1-5-git pull –rebase 取下遠端主機新分支後,直接在本地端 master 分支 commit 接進遠端分支新的 commit ,並將本地同步遠端分支
7-2-解題


7-關於 origin 和其它 repo,git remote 的進階指令

而且你會覺得做一個仁慈的獨裁者會很有趣…

7-關於 origin 和其它 repo,git remote 的進階指令-連結頁面
1-push master!
1-1-說明
1-1-1-merge feature branch
1-2-解題
2-merge with remotes
2-1-說明
2-1-1-為何不要 merge?
2-2-解題
2-2-解題
3-remote tracking
3-1-說明
3-1-1-remote tracking branch
3-1-2-Remote tracking
3-1-3-我可以自己設定嗎?
3-1-4-方法 #2
3-2-解題
4-git push 的參數
4-1-說明
4-2-解題
5-git push 的參數,延伸討論!
5-1-說明
5-1-1- 這個參數的細節
5-2-解題
6-fetch 的參數
6-1-說明
6-1-2- 參數
6-2-解題
7-沒有 source
7-1-說明
7-1-1-奇怪的地方
7-2-解題
8-pull 的參數
8-1-說明
8-1-1-git pull 的參數
8-2-解題