一千萬個為什麽

搜索

具有用戶接受和登臺環境的Git工作流程



我正在嘗試在我的工作場所簡化/標準化git工作流程。目前的發展程序如下:

  1. 拉'發展'分支
  2. 編寫代碼並提交並推送到'development'分支
  3. Cherry選擇從'開發'到'測試'分支進行用戶驗收測試
  4. 櫻桃選擇'測試'到'分期'
  5. 'staging'每周一次合並為'master'

我想采用“功能分支”工作流程,包括測試,升級和掌握。因此,我認為不需要“發展”。從我收集到的,功能分支應該從'master'中獲取。

我理解的是如何將“測試”和“暫存”環境融入“功能分支”git工作流程中。

有人可以解釋一下這可能有用嗎?

轉載註明原文: 具有用戶接受和登臺環境的Git工作流程

一共有 2 個回答:

well, gitflow is your friend here. http://nvie.com/posts/a-successful-git-branching-model/

我最喜歡的工作流程是Adam Dymitruk的 development -less“每個功能分支”工作流程( http://dymitruk.com/blog/2012/02/05/branch-per-feature/ )。它有這些分支:

  • 從第0天到您當前正在制作的應用版本的完整行中只有一個 master
  • 許多功能-... 分支。
  • 一個(或者如果你更傾向於) qa branch。

血淋淋的細節可以在Adam的網站上找到,但簡而言之:

  • Every branch goes off of master.
  • All branches that are in active testing are merged into qa.
  • qa only ever contains merge commits (i.e. feature branches merged on top of each other, starting from master), never direct manipulations.
  • Whenever a feature branch gets new commits, and you want those in qa, you rebuild qa from scratch.
  • Whenever you want to deploy a bunch of features, you create a qa from all of them, test to your heart's content, and then simply rename that branch to the new master (which, as it started out from the old master, will be a direct, unbroken line of merge commits from day 0). Then, all feature branches are rebased on that.
  • One fundamentally important part for this workflow is to enable the git rerere cache feature, and distribute that cache between all developers. Hence, every merge conflict needs to be resolved only once, globally.

一次有多個 qa 分支來測試不同的特征子集是微不足道的;在你的情況下,你可以有 qa (所有內容幾乎接近完成,即編譯沒有錯誤), qa-acceptanceqa-staging 或者你喜歡什麽。

根據我的經驗,總是存在一個相對較大的主要,正在進行的 qa 分支(從主服務器和常規功能中重新創建),並且當某些功能被選中以供發布時,將是一個臨時的較小的 QA -... </代碼>。

在動態中添加和刪除 qa 或release-candidate分支集合中的各個特征是微不足道的,因為這些特征是不斷重建的,而且只是短暫的。

你會發現很多人都非常反對 git rebase ,但是如果一個人圍繞這個只是一個像其他任何工具一樣的事實,那就沒問題了。當然,你需要很好的工具,但是自己編程並不復雜;實際的 git 命令都非常簡單且不言自明。

我們已經擴展了工作流程(或者更確切地說是我們的工具)甚至允許任意子功能(即,功能分支脫​​離另一個功能分支,而不是 master ),因此多個分支可以脫離共同的祖先還沒有生產;奇跡般有效。但如果沒有這個,你可以走得很遠。