2014年11月25日 星期二

Step by Step 使用github參與專案流程(中)- branch, add, commit and push


        接續上一篇文章Step by Step 使用github參與專案流程(一)- fork, clone, and sync,我們把專案拉下來後,就可以開始快樂的寫coding了
建議在做任何更動之前,我們要先建立branch(分支).Git除了提供版本控管的功能之外呢,寫程式另外一個常遇到的情況就是想增加新的功能,這時候我們不想動到原本已經可以順利執行的code,就會開一個新的分支出來,如果新功能沒有問題,才會將這個新的分支加到原本的版本之中.這個動作就叫做branch.


  • 開一個新的branch:
$ git branch sprint  //開一個新的branch 名稱叫做sprint
$ git checkout sprint //切換到 sprint
如果要看自己切換到哪個branch,可以用
$ git staus
就會看到自己是在哪個branch下,還有哪些檔案沒有加入追蹤.
  • 接著就進入快樂的coding時間
  • Coding時要記得幾個原則(其實該注意的東西很多,但是因為本篇文章重點在於git的使用,所以只略提幾點):
    • 不要影響現有功能(使用nosetests或tox做unitest)
    • 文件要寫清楚
    • 變項命名清楚
    • Coding Style
    • 如果有更動功能,要新增unitest的項目(讓測試的coverage達到100%)
  • 如果測試通過(unitest,coverage,pep8等),我們就可以把有更動到的檔案提交(committed)到git上(目前git中儲存的版本是之前剛開完分支的版本)
  • 使用git status看更動了哪些檔案
  • 使用git add加入將要提交的檔案:
$ git status //看哪些檔案變更過
$ git add entity.py //後面放要加的檔案
$ git commit -m "自己想輸入的訊息,通常跟更動的內容有關"
這時後就會跳出commit成功的訊息,會跟你說這次更動了幾個檔案,增加或減少幾行程式碼.
  • 最後就是將我們更新的結果推到(push)github上了
$ git push

最下面會顯示更新了幾個檔案,有哪寫branch被更新.
  • 接著我們回到github上看一下東西有沒有被推上去.
  • 先在這裡切換到我們剛剛修改的branch

  • 切換過來後在下方應該會看到剛剛推上來的訊息

  • 在latest commit上點下去,可以看到剛剛修改的內容,紅色為新增的程式碼,綠色為增加的.(這是範例,千萬別這樣惡搞別人的專案

  • 最後就是發Pull Request了~(請不要亂發PR