Saturday, 24 December 2016

Git Flow 開發流程

Preface

開始工作上班之後,必須照著公司軟體開發流程走。每間公司可能會有不同的軟體開發流程,所利用的軟體版本控制工具也可能不同。這裡介紹的軟體版本控制工具為 Git。所採用的流程類似 Git Flow。

1. 開發人員會先從原本的 master branch 或 develop branch 開一個新的 Feature branch。
2. 接著切換到 Feature branch 上進行開發。
3. 待功能開發完成、通過測試再將 Feature branch 的程式碼 merge 回去 master branch 或 develop branch。 (合併 merge 參考筆記)

Git Developing Flow

以下為個人的操作筆記,因為第一次使用 Git ,寫點筆記避免我忘記了。

建立新的 feature branch

$ git branch <branch-name>

接著用下列的指令,檢視 local repository 上所有的 branch

$ git branch

接著用 checkout 指令切換到剛剛所建立的 branch

$ git checkout <branch-name>

切換過去之後,可以在新的 branch 上面進行開發,而不會去修改到 master。修改之後可以用 status 指令去檢查,目前的 branch 有哪些檔案做過修改了。

$ git status

可以藉由 status 所顯示出來有做過修改的檔案,使用 add 的指令將修改過的檔案改變為 stage 狀態。 轉變為 stage 狀態的檔案為準備可以 commit 確認修改的檔案。 

$ git add <file-path/file-name>

接著用 commit 確認修改。

$ git commit <file-path/file-name>

剛剛所做的修改,都是在 local repository 所做的修改。接著用 push 的指令,把 local repository 所做的所有改變上傳到 remote repository 的指定 branch。指定的 branch 也就是我們剛剛所建立新的 feature branch。

$ git push origin <branch-name>

開發時所做的改變,只會在你所建立的  feature branch 發生改變。並不會去影響到 master branch。當你的 feature branch 通過一些軟體開發的測試之後,才能夠 merge 到另一個開發的整合 branch 進行完整的系統測試。通過完整的系統測試之後確認所有的功能整合起來能夠正常的運作之後,再把這個版本發佈為公司未來要發佈到上線的產品 (Production)

Related Posts:

  • Git 解決合併分支時的檔案衝突 Resolve conflicts while merging branches Preface 上一篇的筆記有提到如何進行 Git 分支合併,但在多人協同開發的環境底下,往往一定會遇到檔案發生衝突的狀況。這裡教大家單純的使用 Git 的 checkout 功能來解決衝突。 Tutorial 當你使用 merge 指令去合併分支的時候,有衝突發生時,Git 會要求使用者解… Read More
  • 使用 CLI 呼叫 IntelliJ 開啟指定路徑底的 Project Preface 對於長時間使用 terminal 的使用者來說,能夠像是 Sublime text 或者是 Atom 一樣,在 terminal 中直接使用指令開啟指定的檔案或專案,可以說是一大福音。這裡教大家使用現成其他開發者寫的 bash ,打造一個 idea 指令來呼叫 IntelliJ … Read More
  • Git 設定個人資訊 Preface 當使用 Git 進行版本控制時,完成 local commit 後,需要將 commit push 到 remote repository 的時候需要將個人的 profile 一同 push 到 remote repository 前,需要先設定個人的 profile。 Tut… Read More
  • Git 移動目前修改的東西到另一個分支上 Preface 有時開發的時候,會發生在錯的分支上進行修改,這時可以利用 stash 來進行搬動剛剛所做的修改。下面就做一個假設我在 master branch 上進行了開發,想要把剛剛所做的改動移動到 develop branch 上。 Tutorial //先確認目前所做的改動 $ … Read More
  • SSH 設定 config 使用不同的 Key 對應不同的 Server Preface 在工作的時候常常會遇到公司的 codebase 要設定 SSH 之後才能把自己的程式碼 commit 上去,可是這時候又會遇到自己的常常在使用的 codebase 可能是 Github, Gitlab......等等其他的服務。如果需要常常將 SSH key 作切換的話蠻麻煩的。… Read More

0 comments:

Post a Comment