<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Gitflow 工作流程 * 它是git工作流程的抽象概念; * 它適合具有預定發布周期的項目; * 它不會添加超出功能分支工作流程所需的任何新概念或命令; * 相反,它為不同的分支分配非常具體的角色,并定義它們應該如何以及何時進行交互; * 除功能分支外,它還使用獨立的分支來準備,維護和記錄版本; * 當然,您仍可以充分利用功能分支工作流程的所有優勢:拉取請求,隔離實驗和更有效的協作; * 除了抽象的Gitflow Workflow想法之外,還有一個更有形的git-flow工具集,它與Git集成以提供專門的Gitflow Git命令行工具擴展。 ### gitflow工具集: macOS安裝: `$ brew install git-flow` windows安裝:需下載,https://git-scm.com/download/win 使用gitflow工具: `$ git flow init` * * * * * ### 如何運行的? #### 開發分支(develop)和主分支(master) 利用兩個分支來記錄項目歷史:開發分支和主分支。 主分支(master)存儲正式發布歷史,而開發分支(develop)則用作功能(feature)的集成分支。 使用版本號標記(tag)主分支(master)中的所有提交也是很方便的。 ![開發分支和主分支](https://git.kancloud.cn/repos/shellway/vbuild/raw/e1318e70c29dde3196c14e4e9fe71e23a873e2c4/images/screenshot_1530759456256.png?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1MzIzNzMyMTQsImlhdCI6MTUzMjMzMDAxNCwiYm9vayI6eyJ1cmkiOiJzaGVsbHdheVwvdmJ1aWxkIiwiaXNfYXV0b19yZWxlYXNlIjpmYWxzZX0sInVzZXIiOnsidXNlcm5hbWUiOiJzaGVsbHdheSIsIm5hbWUiOiJTaGVsbHdheSIsImVtYWlsIjoic2hlbGx3YXlAcXEuY29tIiwidG9rZW4iOiI0OWUxZTU2ZmRlYmFiOWMxODVhMTExYWQ1ZDk3MjNiMSIsImF1dGhvcml6ZSI6eyJwdWxsIjp0cnVlLCJwdXNoIjp0cnVlLCJhZG1pbiI6dHJ1ZX19fQ.dpjk50klCjWiJBRC_boNgtLURpVBUFk0pVXtWNJ3TLE) 圖1:開發分支與主分支 操作步驟: 從主分支(master)擴展一個空的新分支,命名為開發分支(develop)。然后推送到服務器。 ```bash $ git branch develop $ git push -u origin develop ``` 在已有的倉庫中執行 `$git flow init` ,將會自動創建開發分支(develop)。 如果是全新的倉庫,會同時創建主分支(master)和開發分支(develop)。 ```bash $ git flow init Initialized empty Git repository in ~/project/.git/ No branches exist yet. Base branches must be created now. Branch name for production releases: [master] Branch name for "next release" development: [develop] How to name your supporting branch prefixes? Feature branches? [feature/] Release branches? [release/] Hotfix branches? [hotfix/] Support branches? [support/] Version tag prefix? [] $ git branch * develop master ``` * * * * * ### 功能分支(feature) 功能分支(feature)應該從開發分支(develop)拉取,并在開發完成后推送回開發分支。 功能分支(feature)不應該與主分支(master)直接交互。 ![功能分支](https://git.kancloud.cn/repos/shellway/vbuild/raw/e1318e70c29dde3196c14e4e9fe71e23a873e2c4/images/screenshot_1530761414997.png?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1MzIzNzMyMTQsImlhdCI6MTUzMjMzMDAxNCwiYm9vayI6eyJ1cmkiOiJzaGVsbHdheVwvdmJ1aWxkIiwiaXNfYXV0b19yZWxlYXNlIjpmYWxzZX0sInVzZXIiOnsidXNlcm5hbWUiOiJzaGVsbHdheSIsIm5hbWUiOiJTaGVsbHdheSIsImVtYWlsIjoic2hlbGx3YXlAcXEuY29tIiwidG9rZW4iOiI0OWUxZTU2ZmRlYmFiOWMxODVhMTExYWQ1ZDk3MjNiMSIsImF1dGhvcml6ZSI6eyJwdWxsIjp0cnVlLCJwdXNoIjp0cnVlLCJhZG1pbiI6dHJ1ZX19fQ.dpjk50klCjWiJBRC_boNgtLURpVBUFk0pVXtWNJ3TLE) 圖2:功能分支(feature) 每個新的功能分支都應該創建自最新的開發分支。 #### 1、創建功能分支 * 不使用git-flow擴展: ```bash $ git checkout develop $ git checkout -b feature-branch ``` * 使用git-flow擴展: ```bash $ git flow feature start feature-branch ``` #### 2、完成功能分支 * 不使用git-flow擴展: ```bash $ git checkout develop $ git merge feature-branch ``` * 使用git-flow擴展: ```bash $ git flow feature finish feature-branch ``` * * * * * ### 發布分支(release) ![發布分支](https://git.kancloud.cn/repos/shellway/vbuild/raw/e1318e70c29dde3196c14e4e9fe71e23a873e2c4/images/screenshot_1530762292885.png?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1MzIzNzMyMTQsImlhdCI6MTUzMjMzMDAxNCwiYm9vayI6eyJ1cmkiOiJzaGVsbHdheVwvdmJ1aWxkIiwiaXNfYXV0b19yZWxlYXNlIjpmYWxzZX0sInVzZXIiOnsidXNlcm5hbWUiOiJzaGVsbHdheSIsIm5hbWUiOiJTaGVsbHdheSIsImVtYWlsIjoic2hlbGx3YXlAcXEuY29tIiwidG9rZW4iOiI0OWUxZTU2ZmRlYmFiOWMxODVhMTExYWQ1ZDk3MjNiMSIsImF1dGhvcml6ZSI6eyJwdWxsIjp0cnVlLCJwdXNoIjp0cnVlLCJhZG1pbiI6dHJ1ZX19fQ.dpjk50klCjWiJBRC_boNgtLURpVBUFk0pVXtWNJ3TLE) 圖3:發布分支(release) 當開發分支中積累了一定的發布功能,或者臨近預定的發布日期時,我們可以從開發分支中分離出一個發布分支。 創建此分支將啟動下一個發布周期,此時開始發布分支不應再添加任何新功能,只能做一些錯誤修復,文檔生成或其他面向發布的任務。 一旦準備好發布,發布分支就會合并到主服務器并標記版本號。 此外,它應該合并回到開發分支中,以同步發布分支創建以來可能已經取得的進展。 使用專用分支準備發布使一個團隊可以完善當前版本,而另一個團隊繼續為下一個版本開發功能。 它還創建了明確定義的開發階段(例如,很容易說,“本周我們正在為版本4.0做準備”,并且實際上在存儲庫的結構中看到它)。 發布分支是另一種簡單的分支操作。與功能分支一樣,發布分支基于開發分支。 #### 創建發布分支 可以使用以下方法創建新的發布分支。 * 不使用git-flow擴展: ```bash $ git checkout develop $ git checkout -b release/0.1.0 ``` * 使用git-flow擴展: ```bash $ git flow release start 0.1.0 Switched to a new branch 'release/0.1.0' ``` #### 完成發布分支 使用以下方法完成發布分支: * 不使用git-flow擴展: ```bash $ git checkout develop $ git merge release/0.1.0 ``` * 使用git-flow擴展: ```bash $ git checkout master $ git checkout merge release/0.1.0 $ git flow release finish '0.1.0' ``` * * * * * ### 緊急修復分支(hotfix) ![修復分支](https://git.kancloud.cn/repos/shellway/vbuild/raw/e1318e70c29dde3196c14e4e9fe71e23a873e2c4/images/screenshot_1530769335523.png?access-token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1MzIzNzMyMTQsImlhdCI6MTUzMjMzMDAxNCwiYm9vayI6eyJ1cmkiOiJzaGVsbHdheVwvdmJ1aWxkIiwiaXNfYXV0b19yZWxlYXNlIjpmYWxzZX0sInVzZXIiOnsidXNlcm5hbWUiOiJzaGVsbHdheSIsIm5hbWUiOiJTaGVsbHdheSIsImVtYWlsIjoic2hlbGx3YXlAcXEuY29tIiwidG9rZW4iOiI0OWUxZTU2ZmRlYmFiOWMxODVhMTExYWQ1ZDk3MjNiMSIsImF1dGhvcml6ZSI6eyJwdWxsIjp0cnVlLCJwdXNoIjp0cnVlLCJhZG1pbiI6dHJ1ZX19fQ.dpjk50klCjWiJBRC_boNgtLURpVBUFk0pVXtWNJ3TLE) 圖4:緊急修復分支(hotfix) 緊急修復分支基于主分支(master),用于快速發布產品補丁。此分支是唯一直接從主分支(master)分離出來的分支。 緊急修復分支完成后應該馬上合并回主分支,并合并到開發分支(develop)或者發布分支(release)。 然后,主分支應該馬上被打上新的版本號tag。 通過專門的緊急修復開發,您的團隊可以解決問題,而無需中斷工作流的其余部分或等待下一個發布周期。 您可以將維護分支/緊急修復分支視為直接與主分支(master)一起工作的臨時發布分支。 可以使用以下方法創建緊急修復分支: * 不使用git-flow擴展: ```bash $ git checkout master $ git checkout -b hotfix_branch ``` * 使用git-flow擴展: ```bash $ git flow hotfix start hotfix_branch ``` 如同結束發布分支(release)一樣,我們應該將緊急修復分支(hotfix)合并回主分支(master)和開發分支(develop)。 ```bash $ git checkout master $ git merge hotfix_branch $ git checkout develop $ git merge hotfix_branch $ git branch -D hotfix_branch //刪除本地和遠程分支 ``` 或者使用git-flow擴展: ```bash $ git flow hotfix finish hotfix_branch ``` * * * * * ### 示例代碼 #### 功能分支完整示例: 假設有一個包含主分支(master)的倉庫: ```bash $ git checkout master $ git checkout -b develop $ git checkout -b feature_branch // 在feature_branch分支上進行新功能開發工作... // ... // 完成新功能開發 $ git checkout develop $ git merge feature_branch $ git checkout master $ git merge develop $ git branch -d feature_branch // 刪除本地功能分支;若要同時刪除遠程,參數改成-D ``` 在功能開發(feature)和發布開發(release)流程之間,緊急修復流程示例如下: ```bash // 新建緊急修復分支 $ git checkout master $ git checkout -b hotfix_branch // 緊急修復bug // ... // 修復完成 // 合并到開發分支 $ git checkout develop $ git merge hotfix_branch // 合并到主分支 $ git checkout master $ git merge hotfix_branch // 刪除緊急修復分支 $ git branch -d hotfix_branch // 參數-D,同時刪除本地和遠程分支 ``` ### 總結 gitflow整體流程: 1. 開發分支(develop)創建自主分支(master); 2. 發布分支(release)創建自開發分支(develop); 3. 功能分支(feature)創建自開發分支(develop); 4. 功能分支(feature)開發完成后,合并回開發分支(develop); 5. 發布分支(release)完成后,合并回開發分支(develop)和主分支(master); 6. 若主分支(master)發現問題需要修復,從主分支(master)創建緊急修復分支(hotfix); 7. 緊急修復(hotfix)完成后,合并回開發分支(develop)和主分支(master);
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看