# 五 、 Git Hub 整合操作 ###### tags: `GIT101` `進度筆記` `Lidemy心得``2020六月第四週` ## 串聯到 GitHub 1. 先在 GitHub 開一個專案(repository) , 找到 …or push an existing repository from the command line 使用指令 `git push -u origin master` 將本地 test_git_demo 推上去 GutHub 。 p.s. 如果是新建專案則會顯示 *[new branch] master -> master; 已經有的專案會顯示: Everything up-to-date 。 2. 假設你改完檔案後 , 則需要進行 commit `git commit -am "XXXXXX"` , 如果需要改檔案就可以先不 push ,但每次修改後記得要 commit; 改好後記得 push `git push origin master` 上去 , 完成與 GitHub 同步的動作 。 3. 如果在 GitHub 有改動的話 , 記得 pull `git pull origin master` 下來! 4. 如果開了 branch `git branch name` , 記得先移動過去 branch 所在位置 `git checkout name` 再進行修改或是創造檔案或資料夾 , 好了後用 `git status` 看檔案或資料夾有沒有 staged , 沒有的話記得 `git add .` 將檔案加入到 staged , 接著 commit 加入專案 `git commit -am "name"` , 好了後欲與 GitHub 同步則要進行 push `git push origin branchname` 好了後上 github 可以看到 branch 數目 。 ## 在 GitHub 上把 branch 合併到 master branch 找到這個 Compare & pull request , 點一下: ![](https://i.imgur.com/TTn3TJ8.png) --------------------------------------------------------------------- 成功的話會表示: ![](https://i.imgur.com/Ku96NqA.png) --------------------------------------------------------------------- 按下 Merge pull request 就會使 master branch 更新 。 ![](https://i.imgur.com/Q4ZTLu5.png) 如果是本機的 merge 則是 `git merge branch name` 後再推上去 GitHub 。 --------------------------------------------------------------------- 同時也可以將之前的 branch 刪除 ![](https://i.imgur.com/9MlVqCL.png) 在 GitHub 上做 merge 的好處是可以看 merge 的變動 。 --------------------------------------------------------------------- 最後可以將 GitHub 上 merge 後的變動拉回本機 `git pull origin master` 。 --------------------------------------------------------------------- 用 `git log`: 可以看到 ![](https://i.imgur.com/d7WjLlz.png) --------------------------------------------------------------------- ## GitHub Pages 好處是可以將 GitHub 變成靜態網頁; 找到 任何一個 repository 的 Settings 按下: ![](https://i.imgur.com/H7U1uX6.png) --------------------------------------------------------------------- 找到 GitHub Pages 將其啟用: ![](https://i.imgur.com/zYNQvt4.png) --------------------------------------------------------------------- 成功後會給個網址 , 但點進去是 404 頁面: ![](https://i.imgur.com/TpPVn7M.png) --------------------------------------------------------------------- 如果在那個網址後面加檔案名稱(前提是檔案內有寫 code) , 會出現網頁的顯示風格 , 有點類似 domain: ![](https://i.imgur.com/nMwmIyi.png) --------------------------------------------------------------------- 如果在專案底下建立檔案 , 並用語法如 markdown 或 html 格式則可以顯示出類似網頁頁面: ![](https://i.imgur.com/8W4wpbN.png) 同時也可以在 Settings 內換掉網頁風格的 theme 。 --------------------------------------------------------------------- ## 建立了 GitHub Pages 後但想要從本機 push 上 GitHub 會 ? 如果已經建立了 ReadeMe.md 在 GitHub 上 , 但如果用指令 `git push origin master` 想推上去 GitHub 的話 , 會看到錯誤訊息: ![](https://i.imgur.com/uy0xoNN.png) --------------------------------------------------------------------- 或是看到遠端位置內的檔案比本機新的狀況 , 所以要先用 `git pull origin master` 先把改變給抓下來: ![](https://i.imgur.com/1jbosHd.png) 確定 Local 端與 GitHub 同步做改變 , 並且可以用 GitHub flow 管理專案 。 --------------------------------------------------------------------- ## 使用 GitHub flow 管理專案(協同作業) 可以上 [GitHub Guides](https://guides.github.com/introduction/flow/) 觀看建議流程: 會先建議有任何改變時 Create a branch 後再 Add commits 再來就是用 Open a Pull Request 這功能在 GitHub 上跟大家討論 , 測試完成後 merge ; 假設今天 create new branch , `git branch name` 後修改了檔案 , 並用 `git commit -am 'name'` 創造了新專案後需用 `git push origin branchname` (而不是用 `git push origin master` 推 master repository 上去)推上去後 , 接著到 GitHub Open a pull request: ![](https://i.imgur.com/qFCJfLK.png) 點選這個 Compare & pull request 。 --------------------------------------------------------------------- 或是到 Pull request 介面 找 New pull request 把新開的 branch 合併到 master branch 上: ![](https://i.imgur.com/OY674d1.png) 接著 Create pull request 後可以到 Files changed 可以按下 Review changes 留言 , 最後要 merge branch 並且把 branch 刪除 。 ---------------------------------------------------------------------