wordpress_blog

This is a dynamic to static website.

掌握 Git 與 GitHub 版本控制

學到

  • 掌握 Git 版本控制工作流程
  • 瞭解使用 Git / Github 管理程式碼
  • 瞭解如何創建分支,並與多位工程師團隊協作

第1節:環境安裝篇

01.Git 環境安裝

資源

安裝 Git、找尋適合的命令提示字元

Windows 使用 Git Bash 去練習。
Mac 使用終端機去練習。

查詢是否安裝成功

// Git Bash
// 指令 - git version
$ git version
git version 2.28.0.windows.1

02.Windows – 命令提示字元教學(上)

使用 Git Bash 練習。

常用語法

  1. 移動路徑:cd 路徑
  2. 回上一層:cd ..
  3. 展開列表:ls
  4. 開新資料夾:mkdir 資料夾名稱
  5. 開新檔案:touch 檔案名稱

使用滑鼠拖曳檔案,移動到檔案位置。

$ cd 滑鼠拖曳檔案

03.Windows – 命令提示字元教學(下)

承上,常用語法 4、5

// 新增資料夾
$ mkdir css
// 移動到 css 資料夾
$ cd css
// 新增檔案
$ touch style.css

04.基本 command 指令

備註:開新檔案與展開列表在 git bash 上都可以執行,但是在 windows 預設的命令提示字元沒辦法使用,所以還是都是使用 git bash 來進行操作。

全部課程只會學五個小指令,內容如下:

  1. 移動路徑:cd 路徑
  2. 回上一層:cd ..
  3. 展開列表:ls
  4. 開新資料夾:mkdir 資料夾名稱
  5. 開新檔案:touch 檔案名稱

PS:cd ..,是兩個..,不是一個.。

05.MAC 終端機高亮

Oh My Zsh – 相關操作教學連結

06.MAC – 命令提示字元教學 (上)

  • 移動路徑:cd 路徑
  • 回上一層:cd ..
  • 展開列表:ls

07.MAC – 命令提示字元教學 (下)

  • 開新資料夾:mkdir 資料夾名稱
  • 開新檔案:touch 檔案名稱

08.Git 環境設定

git config --list

git config --global user.email "你的email"
git config --global user.name "你的名字"

第2節:Git 基礎操作篇

09.前言提要

git 教學大綱圖

Git 教學大綱圖

10.git init – 安裝數據庫

在本地端開啟數據庫

  1. 新增一個資料夾 project
  2. 移動到資料夾位置 cd project
  3. 輸入指令:git init
  4. 如何判斷已經開啟數據庫
    • Git Bash 命令提示字元檔案位置出現 master
    • 資料夾內隱藏的項目出現 .git 檔案資料夾
// 1.新增一個資料夾 project
// 2.cd project
// 3.輸入指令:git init
// 4.出現master、隱藏的 .git 檔案

11.工作目錄、加入索引、提交版本流程介紹

工作目錄 add→ 索引 commit→ 本地數據庫
working directory add→ staging area commit→ Local Repository

Github 講解

17 commits 可以想像說更新了17次的資料上去。

commits 可以記錄更新的時間、註解更新內容的標題,變動的檔案有幾個,以及程式碼新增、刪減的地方。

commit – 提交
提交:git commit

12.基礎指令教學流程

  1. 建立新的資料夾 project
  2. 新增新的數據庫 git init
    • Git Bash 命令提示字元檔案位置出現 master
  3. 新增檔案
    • touch index.html
    • touch a.txt
  4. 新增一個資料夾 mkdir css
  5. 移動到 css 資料夾位置 cd css
  6. 新增一個檔案 touch all.css
  7. 回到上一層 cd ..
  8. 全部檔案加到索引 git add .
  9. 檢查狀態 git status
    • 等待提交
  10. 再新增檔案 b.txt
  11. 檢查狀態 git status
    • 等待提交
    • 未追蹤
  12. 單一檔案加到索引 git add b.txt
  13. 檢查狀態 git status
    • 等待提交
  14. 提交更新 git commit -m ‘update1’
  15. 檢查狀態 git status
    • 無需提交,工作目錄是乾淨的
  16. 修改 index.html 檔案內容
  17. 檢查狀態 git status
    • 已更改
  18. 新增檔案 touch index2.html
  19. 檢查狀態 git status
    • 已更改
    • 未追蹤
  20. 全部加到索引 git add .
  21. 檢查狀態 git status
    • 等待提交
  22. 提交更新 git commit -m ‘update index’
  23. 檢查狀態 git status
    • 無需提交,工作目錄是乾淨的
  24. 查詢紀錄 git log

PS:Mac iterm2 案 q 回到原本畫面。

基礎指令

  1. 加到索引:git add .
  2. 檢查狀態:git status
  3. 提交更新:git commit -m ‘修改紀錄’
  4. 查詢紀錄:git log

13.gitignore – 忽略檔案

使用 .gitignore 來忽略檔案

  1. index.html:忽略單一檔案
  2. *.html:忽略全部 HTML 檔案
  3. folder/:忽略 folder
檔案 .gitignore
index.html
*.html
css/

操作流程

  1. 移動到檔案位置 cd 拖曳滑鼠檔案
  2. 新增資料夾 mkdir project
  3. 移動到資料夾位置 cd project
  4. 新增新的數據庫 git init
  5. 新增檔案 touch index.html
  6. 新增檔案 touch .gitignore
  7. 檢查狀態 git status
  8. 忽略檔案,在.gitignore 輸入 index.html
  9. 檢查檔案 git status
  10. 新增檔案 touch index2.html
  11. 檢查檔案 git status
  12. 忽略全部檔案,在 .gitignore 輸入 *.html
  13. 檢查檔案 git status
  14. 新增 css 資料夾
  15. 移動到資料夾位置 cd css
  16. 新增檔案 touch all.css
  17. 回上一層 cd ..
  18. 忽略資料夾,在 .gitignore 輸入 css/
  19. 檢查狀態 git status

資源:gitignore 大全

14.工作狀態還原技巧分享

#取消索引

全部檔案取消索引
git reset HEAD

單一檔案取消索引
git reset HEAD 檔案名稱

#還原檔案

恢復單一檔案到最新 commit 狀態
git checkout 檔案名稱

還原工作目錄與索引,會跟最後一次 commit 保持一樣
git reset –hard

操作流程 – 取消索引

  1. 新增資料夾 mkdir project
  2. 移動到資料夾位置 cd project
  3. 新增新的數據庫 git init
  4. 新增檔案 touch index.html
  5. 加到索引 git add .
  6. 提交更新 git commit -m ‘update’
  7. 查詢紀錄 git log
  8. 新增檔案 touch all.css
  9. 新增檔案 touch all.js
  10. 檢查狀態 git status
  11. 加到索引 git add .
  12. 檢查狀態 git status
  13. 全部檔案取消索引 git reset HEAD
  14. 檢查狀態 git status
  15. 加到索引 git add .
  16. 單一檔案取消索引 git reset HEAD all.css
  17. 檢查狀態 git status

操作流程 – 還原檔案

  1. 檔案程式碼修改,寫壞了
  2. 檢查狀態 git status
  3. 恢復單一檔案到最新 commit 狀態 git checkout index.html
  4. 加到索引 git add .
  5. 還原工作目錄與索引,會跟最後一次 commit 保持一樣 git reset –hard
  6. 檢查狀態 git status
  7. 查詢紀錄 git log

15.指令大全

這裡條列出本課程裡有教到的指令,都是實務上比較常用的部分。
更多指令:一峰猴子git的指令庫。

基礎設定

查詢版本
git version

查詢設定列表
git config –list

輸入姓名
git config –global user.name “你的名字”

輸入email
git config –global user.email “你的email”

新增本地/複製遠端數據庫

在本地資料夾新增數據庫
git init

複製遠端數據庫
git clone 遠端數據庫網址

增加/刪除檔案

增加檔案進入索引
git add 檔案名稱

增加全部檔案進入索引
git add .

查詢狀態
git status

顯示歷史紀錄
git log

將索引提交到數據庫
git commit -m ‘更新訊息’

還原指令

還原工作目錄與索引,會跟最後一次 commit 保持一樣
git reset –hard

全部檔案取消索引
git reset HEAD

單一檔案取消索引
git reset HEAD 檔案名稱

恢復單一檔案到最新 commit 狀態
git checkout 檔案名稱

刪除最近一次 commit
git reset –hard HEAD^

上面語法如果刪除錯了可以再用此語法還原
git reset –hard ORIG_HEAD

刪除最近一次 commit,但保留異動內容
git reset –soft HEAD^

commit 後發現有幾個檔案忘了加入進去
git commit –amend

分支

顯示所有本地分支
git branch

新增分支
git branch 分支名稱

切換分支
git checkout 分支名稱

合併指定分支到目前的分支
git merge 分支名稱

刪除分支
git branch -d 分支名稱

遠端數據庫操作

複製遠端數據庫
git clone 遠端數據庫網址

查詢遠端數據庫
git remote

將本地分支推送到遠端分支
git push 遠端數據庫名稱 遠端分支名稱

將遠端分支拉下來與本地分支進行合併
git pull

標籤

查詢標籤
git tag

查詢詳細標籤
git tag -n

刪除標籤
git tag -d 標籤名稱

新增輕量標籤
git tag 標籤名稱

新增標示標籤
git tag -am ‘備註內容’ 標籤名稱

暫存

暫時儲存當前目錄
git stash

瀏覽 stash 列表
git stash list

還原暫存
git stash pop

清除最新暫存
git stash drop

清除全部暫存
git stash clear

Git & Github 指令

第3節:Github

16.Github 註冊流程

GitHub 官網

Github – 遠端數據庫

17.git push – 推送數據庫到 Github

講解流程

  1. 在 Github 新增一個遠端數據庫
  2. 複製遠端數據庫到自己的電腦上面
  3. 修改完之後
  4. 推送更新遠端數據庫

遠端數據庫 複製→ 本地數據庫,
本地數據庫 更新→ 遠端數據庫。

Remote Repository clone/fetch→ Local Repository,
Local Repository push→ Remote Repository.

操作流程

  1. 在 Github 新增一個遠端數據庫
  2. 複製 HTTPS URL
  3. 新增資料夾 mkdir github
  4. 移動到資料夾位置 cd github
  5. 複製檔案下來 git clone URL
  6. 移動到資料夾位置 cd gittest2
  7. 新增檔案 touch index.html
  8. 全部加到索引 git add .
  9. 提交更新 git commit -m ‘update index’
  10. 推送更新 git push
  11. 新增檔案 touch index2.html
  12. 全部加到索引 git add .
  13. 提交更新 git commit -m ‘update index2’
  14. 推送更新 git push

18.從 Github 找出實用插件流程

Github 首頁搜尋關鍵字,舉例:slider。
如何辨別插件的實用,依分類選項:最相關、最多星數、更新時間(約半年左右),來決定是否使用。
通常來說,插件會有說明如何使用。

Github 會記錄各種 Git 狀態,有多少個分支、幾個提交、多少個問題,來評估插件的更新頻率、使用的熱門度高不高。

其他的遠端數據庫

Bitbucket

PS:Bitbucket 有提供小團隊 (5人以下) 服務是免費的。
PS:Github 私人數據庫服務現在改成免費的。

第4節:Git 分支 (branch)

19.分支簡介

參考文章:範例分支圖Gitflow 分支策略

分支大致上分為兩種:

  1. 主要的分支:master(主要)、develop(開發)
  2. 支援的分支:feature(功能)、release(發佈)、hotfix(熱修復)

20.HEAD – 瞭解目前所在位置

HEAD:目前所在位置的指標。

  • 查看目前有哪些分支 git branch
  • 回到以前指定版本狀態,查看過去的內容 git checkout 前4碼
  • 還原到最新版本 git checkout master

操作流程

  1. 新增資料夾 mkdir project
  2. 移動到資料夾位置 cd project
  3. 新增新的數據庫 git init
  4. 新增檔案 touch index.html
  5. 全部加到索引 git add .
  6. 提交更新 git commit -m ‘update’
  7. 瀏覽目前分支 git branch
  8. 修改檔案內容 index.html
  9. 檢查狀態 git status
  10. 全部加到索引 git add .
  11. 提交更新 git commit -m ‘update index content’
  12. 查詢紀錄 git log
  13. 回到以前指定版本狀態 git checkout 38b0
  14. 還原到最新版本 git checkout master

21.git branch – 分支創立

新增分支操作流程

  1. 新增分支 git branch feature1
  2. 查詢分支 git branch
    • * 代表 HEAD 目前所在位置
  3. 切換分支 git checkout feature1
  4. 查詢分支 git branch
    • * 在 feature1 的位置
  5. 修改檔案 index.html
  6. 查詢狀態 git status
  7. 全部加到索引 git add .
  8. 提交更新 git commit -m ‘edit index content’
  9. 切換分支 git checkout master
  10. 查詢分支 git branch
    • * 在 master 的位置
  11. 切換分支 git checkout feature1
  12. 查詢分支 git branch
    • * 在 feature1 的位置

練習:使用切換分支切換到 master 和 feature1,看他們的差異。

22.git merge – fast-forward

合併分支操作流程

  1. 新增資料夾 mkdir project
  2. 移動到資料夾位置 cd project
  3. 新增新的數據庫 git init
  4. 新增檔案 touch index.html
  5. 全部加到索引 git add .
  6. 提交更新 git commit -m ‘add index’
  7. 修改檔案 index.html
  8. 檢查狀態 git status
  9. 全部加到索引 git add .
  10. 提交更新 git commit -m ‘update index’
  11. 新增分支 git branch feature1
  12. 查詢分支 git branch
  13. 切換分支 git checkout feature1
  14. 修改檔案 index.html 匯入 CSS
  15. 新增資料夾 mkdir css
  16. 移動到資料夾位置 cd css
  17. 新增檔案 touch all.css
  18. 回上一層 cd ..
  19. 檢查狀態 git status
  20. 全部加到索引 git add .
  21. 提交更新 git commit -m ‘add css’
  22. 切換分支 git checkout master
  23. 合併分支 git merge feature1

23.Mac 自動合併細節提醒

在下一篇會需要使用到編輯器來寫 merge 的更新訊息,
在未指定編輯器的情況下,會出現 vim 的編輯器,此時已會預設
帶好 commit 的內容,只要依序輸入以下文字:
:wq!
就可離開

24.git merge – 自動合併篇

同時更新 – 無衝突版本

操作流程
  1. 新增資料夾 mkdir project
  2. 移動到資料夾位置 cd project
  3. 新增新的數據庫 git init
  4. 新增檔案 touch index.html
  5. 新增 index.html 環境、內容
  6. 查詢狀態 git status
  7. 全部加到索引 git add .
  8. 提交更新 git commit -m ‘add index’
  9. 新增分支 git branch feature1
  10. 切換分支 git checkout feature1
  11. 修改檔案 index.html 匯入 CSS
  12. 檢查狀態 git status
  13. 全部加到索引 git add .
  14. 提交更新 git commit -m ‘update index’
  15. 切換分支 git checkout master
  16. 修改檔案 index.html
  17. 檢查狀態 git status
  18. 全部加到索引 git add .
  19. 提交更新 git commit -m ‘edit h1’
  20. 合併分支 git merge feature1
  21. 跳出合併訊息 MERGE_MSG
  22. 確認合併訊息沒問題後,關掉就合併完成

25.git merge – 解決衝突篇

同時更新 – 有衝突版本

操作流程
  1. 新增資料夾 mkdir project
  2. 移動到資料夾位置 cd project
  3. 新增新的數據庫 git init
  4. 新增檔案 touch index.html
  5. 建立 index.html 環境
  6. 全部加到索引 git add .
  7. 提交更新 git commit -m ‘add index’
  8. 新增分支 git branch feature1
  9. 查詢分支 git branch
  10. 切換分支 git checkout feature1
  11. 修改 index.html 匯入 CSS、新增h1標籤feature1
  12. 檢查狀態 git status
  13. 全部加到索引 git add .
  14. 提交更新 git commit -m ‘add css and feature1’
  15. 切換分支 git checkout master
  16. 修改 index.html 新增h1標籤master
  17. 全部加到索引 git add .
  18. 提交更新 git commit -m ‘add h1 master’
  19. 合併分支 git merge feature1
  20. 衝突、自動合併失敗
  21. 評估與其他成員程式碼有衝突該如何解決
    • 部分保留、部分刪除
    • 全部保留
    • 全部刪除
  22. 這裡是選擇全部保留
  23. 全部加到索引 git add .
  24. 提交更新 git commit -m ‘merge feature1 css and h1’

發現不能自動合併時,就需要做手動合併的動作。

26.git tag – 標籤

  1. 查詢標籤:git tag
  2. 查詢詳細標籤:git tag -n
  3. 刪除標籤:git tag -d 標籤名稱
  4. 新增輕量標籤:git tag 標籤名稱
  5. 新增標示標籤:git tag -am “備註內容” 標籤名稱
  6. 切換到標籤的 commit:git checkout 標籤名稱

操作流程

  1. 新增資料夾 mkdir project
  2. 移動到資料夾位置 cd project
  3. 新增新的數據庫 git init
  4. 新增檔案 touch index.html
  5. 全部加到索引 git add .
  6. 提交更新 git commit -m ‘update index’
  7. 查詢紀錄 git log
  8. 建立 index.html 環境、新增h1標籤內容
  9. 全部加到索引 git add .
  10. 提交更新 git commit -m ‘edit index’
  11. 查詢標籤 git tag (無,因為還沒新增標籤)
  12. 新增輕量標籤 git tag v1
  13. 查詢標籤 git tag
  14. 修改檔案 index.html 新增p段落內容
  15. 全部加到索引 git add .
  16. 提交更新 git commit -m ‘update p’
  17. 查詢紀錄 git log
  18. 查詢標籤 git tag
  19. 切換到標籤的提交 git checkout v1
  20. 切換分支 git checkout master
  21. 新增檔案 touch contact.html
  22. 全部加到索引 git add .
  23. 提交更新 git commit -m ‘update contact’
  24. 新增標示標籤 git tag -am ‘v2 add contact’ v2
  25. 查詢標籤 git tag
  26. 查詢詳細標籤 git tag -n

27.git stash – 暫存檔案

  1. git stash – 暫時儲存當前目錄
  2. git stash list – 瀏覽 git stash 列表
  3. git stash pop – 還原暫存
  4. git stash drop – 清除最新暫存
  5. git stash clear – 清除全部暫存

操作流程

  1. 新增資料夾 mkdir project
  2. 移動到資料夾位置 cd project
  3. 新增新的數據庫 git init
  4. 新增檔案 touch index.html
  5. 建立 index.html 環境、新增h1標籤內容
  6. 全部加到索引 git add .
  7. 提交更新 git commit -m ‘add index’
  8. 新增分支 git branch issue
  9. 修改檔案 index.html 新增p標籤段落內容
  10. 檢查狀態 git status
  11. 突發指派工作內容,暫時儲存當前目錄 git stash
  12. 檢查狀態 git status
  13. 查詢暫存檔案列表 git stash list
  14. 切換分支 git checkout issue
  15. 修改 issue 問題完成後
  16. 還原暫存 git stash pop
  17. 查詢暫存檔案列表 git stash list
  18. 暫時儲存當前目錄 git stash
  19. 切換分支 git checkout master
  20. 還原暫存 git stash pop

第5節:Git、Github 團隊協作篇

28.git remote – 遠端數據庫

如何推送分支到遠端數據庫

  1. git remote – 查詢遠端數據庫主機名稱
  2. git remote rename 原名稱 修改名稱 – 修改遠端數據庫主機名稱
  3. git push origin master – 推送分支更新到指定遠端數據庫主機
    • origin:預設遠端主機名稱
    • master:分支名稱
操作流程
  1. 在 Github 新增一個 New repository (新的遠端數據庫)
  2. Repository name (數據庫名稱) gitremote
  3. Create repository (建立數據庫)
  4. 複製 HTTPS URL
  5. 新增資料夾 mkdir github
  6. 移動到資料夾位置 cd github
  7. 複製遠端數據庫 git clone URL
  8. 移動到資料夾位置 cd gitremote
  9. 新增檔案 touch index.html
  10. 全部加到索引 git add .
  11. 提交更新 git commit -m ‘add index’
  12. 推送更新 git push
  13. 新增分支 git branch issue
  14. 切換分支 git checkout issue
  15. 新增檔案 touch issue.html
  16. 全部加到索引 git add .
  17. 提交更新 git commit -m ‘add issue’
  18. 推送更新失敗 git push
  19. 查詢遠端數據庫 git remote
  20. 推送分支更新到指定遠端數據庫主機 git push origin issue
  21. 查詢遠端數據庫 git remote
  22. 修改遠端數據庫名稱 git remote rename origin github
  23. 查詢遠端數據庫 git remote
  24. 新增檔案 touch contact.html
  25. 全部加到索引 git add .
  26. 提交更新 git commit -m ‘add contact’
  27. 推送更新失敗 git push origin issue
  28. 推送分支更新到指定遠端數據庫主機 git push github issue

29.git pull – 下載遠端數據庫

從遠端數據庫下載更新 (pull) 到自己的工作目錄。

模擬操作流程

自己、Github、同事A,
在與其他成員團隊合作時會有哪些狀況?

  1. 在 Github 新增一個 New Repository (新的遠端數據庫)
  2. Repository name (數據庫名稱) gitpull
  3. Create Repository (建立數據庫)
  4. 複製 HTTPS URL
  5. 新增兩個資料夾,分別是 my、a
  6. 我:移動到資料夾位置 cd my
  7. 我:複製遠端數據庫 git clone URL
  8. 我:移動到資料夾位置 cd gitpull
  9. 同事A:移動到資料夾位置 cd a
  10. 同事A:複製遠端數據庫 git clone URL
  11. 我:我先建立環境 touch index.html
  12. 我:全部加到索引 git add .
  13. 我:提交更新 git commit -m ‘add index’
  14. 我:推送分支更新到指定遠端數據庫主機 git push origin master
  15. 同事A:移動到資料夾位置 cd gitpull
  16. 同事A:查詢紀錄 git log
  17. 同事A:從遠端數據庫下載更新 (pull) 到工作目錄 git pull
  18. 同事A:查詢紀錄 git log
  19. 同事A:新增檔案 touch contact.html
  20. 同事A:全部加到索引 git add .
  21. 同事A:提交更新 git commit -m ‘add contact’
  22. 同事A:推送分支更新到指定遠端數據庫主機 git push origin master
  23. 我:查詢紀錄 git log
  24. 我:從遠端數據庫下載更新 (pull) 到工作目錄 git pull
  25. 我:查詢紀錄 git log

30.git pull – 衝突篇

pull – 無法 push 案例

自己、Github、同事A
在與其他成員團隊合作時,別人更新後,產生無法 push 的狀況。
需要先 pull,才可以 push。

模擬操作流程
  1. 在 Github 新增一個 New Repository (新的遠端數據庫)
  2. Repository name (數據庫名稱) gitconflicts
  3. Create Repository (建立數據庫)
  4. 複製 HTTPS URL
  5. 新增兩個資料夾,分別為 my、a
  6. 我:移動到資料夾位置 cd my
  7. 我:複製遠端數據庫 git clone URL
  8. 我:移動到資料夾位置 cd gitconflicts
  9. 同事A:移動到資料夾位置 cd a
  10. 同事A:複製遠端數據庫 git clone URL
  11. 同事A:移動到資料夾位置 cd gitconflicts
  12. 我:我先建立環境 touch index.html
  13. 我:全部加到索引 git add .
  14. 我:提交更新 git commit -m ‘add index’
  15. 我:推送分支更新到指定遠端數據庫主機 git push origin master
  16. 同事A:從遠端數據庫下載更新 (pull) 到工作目錄 git pull
  17. 我:在下班後,寫了一些東西。
  18. 我:新增檔案 touch contact.html
  19. 我:全部加到索引 git add .
  20. 我:提交更新 git commit -m ‘add contact’
  21. 我:推送分支更新到指定遠端數據庫主機 git push origin master
  22. 同事A:新增檔案 touch about.html
  23. 同事A:全部加到索引 git add .
  24. 同事A:提交更新 git commit -m ‘add about’
  25. 同事A:出現錯誤-推送分支更新到指定遠端數據庫主機 git push origin master
  26. 同事A:從遠端數據庫下載更新 (pull) 到工作目錄 git pull
  27. 同事A:跳出合併訊息 MERGE_MSG
  28. 同事A:推送分支更新到指定遠端數據庫主機 git push origin master
  29. 我:經由同事告知有更新後
  30. 我:從遠端數據庫下載更新 (pull) 到工作目錄 git pull

PS:MERGE_MSG 輸入 :wq! 就可離開。

31.Github Pages – 存放網頁空間流程

利用 github pages 更新網頁。

操作流程

  1. 在 Github 新增一個 New Repository (新的遠端數據庫)
  2. Repository name (數據庫名稱) demonsite
  3. Create Repository (建立數據庫)
  4. 複製 HTTPS URL
  5. 新增資料夾 mkdir github
  6. 移動到資料夾位置 cd github
  7. 複製遠端數據庫 git clone URL
  8. 移動到資料夾位置 cd demonsite
  9. 新增檔案 touch index.html
  10. 建立 index.html 環境、新增h1標籤內容
  11. 全部加到索引 git add .
  12. 提交更新 git commit -m ‘add index and h1’
  13. 推送分支更新到指定遠端數據庫主機 git push origin master
  14. 重新整理 Github 網頁
  15. 在 Github 網頁上有個 Settings 裡面有個 GitHub Pages,把 Source 改成 master branch 然後 Save (儲存)
  16. GitHub Pages 區塊出現 Your site is ready to be published at URL
  17. 修改檔案 新增清單內容
  18. 全部加到索引 git add .
  19. 提交更新 git commit -m ‘edit list’
  20. 推送分支更新到指定遠端數據庫主機 git push origin master
  21. 重新整理 Github 網頁後,看 commits 改了哪些東西
  22. 重新整理 GitHub Pages 網頁後,更新了網頁內容。

32.小型團隊分支協作篇

參考文章:範例分支圖

團隊協作範例圖

團隊協作範例圖
操作流程
  1. 新增資料夾 mkdir github
  2. 移動到資料夾 cd github
  3. 新增資料夾 mkdir project
  4. 移動到資料夾 cd project
  5. 新增新的數據庫 git init
  6. 新增檔案 touch index.html
  7. 建立 index.html 環境
  8. 全部加到索引 git add .
  9. 提交更新 git commit -m ‘add index’
  10. 新增分支 git branch develop
  11. 查詢分支 git branch
  12. 切換分支 git checkout develop
  13. 新增分支 git branch feature/view
  14. 切換分支 git checkout feature/view
  15. 新增檔案 touch all.css
  16. 全部加到索引 git add .
  17. 提交更新 git commit -m ‘add css’
  18. 切換分支 git checkout develop
  19. 合併分支 git merge feature/view
  20. 新增分支 git branch feature/js
  21. 切換分支 git checkout feature/js
  22. 新增檔案 touch all.js
  23. 全部加到索引 git add .
  24. 提交更新 git commit -m ‘add js’
  25. 切換分支 git checkout develop
  26. 合併分支 git merge feature/js
  27. 切換分支 git checkout master
  28. 合併分支 git merge develop
Learn Git Branching
Learn Git Branching
$ git branch develop
$ git checkout develop
$ git branch f/view
$ git checkout f/view
$ git commit
$ git checkout develop
$ git merge f/view --no-ff
$ git branch f/js
$ git checkout f/js
$ git commit
$ git checkout develop
$ git merge f/js --no-ff
$ git checkout main
$ git merge develop --no-ff
合併指定分支到目前的分支 – 取消快轉
git merge 分支名稱 --no-ff

33.git pull = git fetch + git merge

相信各位同學練習完 pull 時,可以知道他就是將遠端的分支將
你的本地分支進行合併 merge 的動作,
但有時候你不希望 pull 下來導致自己的數據庫太亂又擔心有衝突時,可以先使用下面這個指令。

git fetch origin(遠端數據庫主機名稱) branch1(遠端分支)

此時你的分支會多一個 FETCH_HEAD 的分支,這個就是遠端數據庫的分支,可以等到你看過沒問題後,
再合併 FETCH_HEAD 也 ok。

34.延伸教學資源