# 0416 GitHub Flow and processing status lidemyMentorProgram5th week1 day5 ### GitHub Flow 協作專案流程 一條專案主軸開始後,有要增加或改動內容就開一個新的 branch,然後將檔案 commit 然後使用 pull request 合併回去,大家可以在上面做 code review,最後沒問題後 merge 回去 **GitHub 如何獲利** :升級服務 for 公司,商業專案 競爭品牌: Bitbucket. GitLab ### 處理狀況 **如何修改 commit message** 使用 git commit —amend (vim編輯器) **如何取消 commit** git reset HEAD^ —hard 最新一個版本號取消 git reset HEAD^ —soft 回到上 **修改了檔案但是還沒 commit,想復原的話怎麼辦** git status 指令下去會看到被改的那個檔案 再下 git checkout — 就可以改回來 **如何修改 branch 名稱** 先使用 git checkout (到那個 branch) 再下 git checkout -m (新名稱) **如何把 GitHub 上的 其中一個 branch 抓下來** 下 git checkout (branch 名稱) ,終端機就會直接把那個分支抓下來 **Hook** git 上面 hook :掛勾注意,發生某些事的時候通知我 在 git 的資料夾內可以看到 hooks 的資料夾,進去就可以看到一些檔案 --- **用 GitHub 寫作業與交作業流程** * 把交作業的個人分支複製到本機 * 在本機修改編輯作業檔案 * 下 git status 指令可以看到該檔案被修改過,下 git diff 可以進 vim 編輯器看哪邊修改過 **準備提交** * 每次教作業就創造一個分支 git branch week1 * 創造後切換到那個分支上 git checkout week1 或用 git checkout -b week1 (創造分支的同時切換到該分支上的兩個指令疊合) * 確認自己在分支上後,進行 commit,下 git commit -am ‘message’ * 然後 push 上去 GitHub > 下 git push origin week1 * 到 GitHub 上面發 pull request ,請求將這個 branch 合併到 master 上,待助教看過作業後 approved 這個請求後 merge 到 master 上 分支已創造好,但檔案有修改的話就是再創造一次 commit ,下 commit -am ‘message’ 然後 push 上去 week1 分支,下 git push origin week1 指令就可以了 作業交完,助教也改完作業後的流程 > 把本機的主檔案同步到最新版本 到master 的分支上 (下 git checkout master 指令) 把最新的版本拉下來更新本機主檔案 (下 git pull origin master 指令) 更新了最新版的 master 主版本後,就可以把本機的 week1 分支刪掉 (下 git branch -d week1 指令)