---
# System prepended metadata

title: 0416 GitHub Flow and processing status

---

# 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 指令)