<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                獨立開發與人少的時候協同開發,問題不大。人多了就容易出事。 一般開發會約定如下分支: > * master分支:線上分支,不允許隨意提交修改,僅允許develop分支合并,僅管理員操作(一般是開發老大) > * develop分支:開發分支,不允許直接修改,但允許程序員發起pr(提交)合并至develop,用于檢出(下載到本地)新`feature-名字`分支開發新功,也用于合并至master分支。 > * release分支:測試代碼分支,不允許直接修改,但允許程序員發起pr合并至release,用于測試環境使用 > * `feature-名字`分支:程序員開發使用的功能分支,從develo上檢出的開發分支 那么,正常開發流程: 譬如我要開發一個`登錄功能` ~~~ 1.首先,從develop上檢出新分支`feature-login`分支至本地,開發 2.完成開發后,push至遠程`feature-login` 3.此時我們需要測試新增的登錄功能,那么,我們應該發起一個marge request(pr)至release分支(上文所說的測試分支),開發老大(管理員)同意pr,即成功合并至release分支 4.然后走測試流程 5.測試通過后,準備上線,那么,需要從`feature-login`分支發起pr至develop分支,管理員審核后,由管理員操作develop分支,合并至master ~~~ #### 為什么不從`feature-login`分支直接pr(提交)至master分支? 原因: * 1.master分支為線上生產環境代碼,不應該隨意合并提交,合并前應審核代碼; * 2.多人協同,極易出現代碼沖突,故應約定所有人先合并代碼至develop分支,解決沖突后再由develop合并至master。所有人從develop分支檢出feature分支開發,保證了代碼的一致性。 注意事項: * **release分支對應測試環境,絕不要將release分支合并至develop或master分支上** * release分支為測試分支,應于master、develop分離(測試/線上分離) * release分支上可以放任意測試代碼,代碼混亂,可能今天a程序員pr至release測試功能,下午b程序員也pr了新功能測試,但都不是今天上線的且需要測試的功能,然后c程序員直接將release分支合并至master分支,那么將會出現不可預估的bug,后果極其嚴重 * feature分支發布之前,可以先從develop拉去代碼至本地的feature分支,以解決沖突,解決后push feature分支至遠程,然后再請求合并至develop,管理員合并時將無需面臨代碼沖突問題。 * 代碼合并至develop分支后,應刪除遠程端的feature分支。因已合并至develop,后續改動依舊需要從develop分支上檢出代碼(**因為其他人可能在此期間合并了新的功能至develop分支,此操作可保障代碼一致性,極為關鍵**),原feature分支無任何存在的必要。 * 嚴格執行以上流程,Git將是多人協同開發利器 ## **前提** **1、創建自己的github倉庫** 點擊[New repository](https://github.com/new)創建自己的github倉庫,命名為test **2、克隆項目**(自動生成了默認master分支以及orgin遠程倉庫別名) git定位到D:\\下鍵入: ~~~ git clone git@github.com:lichixxx/test.git ~~~ > cd 到test名目錄(目錄名與github倉庫名一致,即test) > 查看遠程分支 git remote -v > 查看本地分支 git branch > 查看遠程分支 git branch -r > 查看所有分支 git branch -a **3、提交到新dev分支** ~~~ //如果只是單純的新建分支直接push origin master:dev //創建并切換 相當于git branch newbranch 與 git checkout newbranch git checkout -b dev //git branch 可知 * 指向dev 即切換到本地dev分支了 //然后就是添加功能 add commit push 增刪改查 //提交當前文件所有的文件到暫存區 git add . //提交到本地倉庫 git commit - m "提交說明" //記得加上:后dev,否則就提交到默認的遠程master分支了 git push origin dev:dev ~~~ **4、提交到新dev分支** ~~~ git push origin dev:release ~~~ ## **張三開發登錄功能** 從dev檢出開發項目 ~~~ //克隆 dev分支 并自定義目錄名(默認與遠程倉庫同名 test 且本地分支默認為dev) git clone -b dev git@github.com:lichihua/test.git devdir //或者 切換dev分支并pull 獲取代碼(存在.git時可使用此法) git checkout dev git pull //創建feature-login分支并切換 git checkout -b feature-login //把新建的分支push到遠端 git push origin feature-login[:feature-login] //拉取遠端分支(會報錯提示當前分支沒有跟蹤信息 需要關聯到遠程) git pull //關聯到遠程 git branch --set-upstream-to=origin/feature-login //再次pull git pull ~~~ 完成開發后,push至遠程`feature-login` ~~~ git add . git commit -m "xxx" git push ~~~ 合并至release分支 ~~~ git checkout -b release(新建并切換分支) git pull(拉去最新的代碼) 2、查看分支   git branch -a(查看所有分支:本地分支白色,當前分支綠色,遠程分支紅色) 3、合并分支   git merge feature-login 4、查看狀態   git status(這里可以看到是否有沖突:conflict,或者修改:modify) 5、有沖突,通過IDE/編輯器解決 6、解決后,提交至暫存區   git add . 7、提交   git commit -m "說點什么" 8、推送   git push(已提交的變動推送至遠程) 9、測試 ~~~ 測試完成合并到dev(步驟同上) 最后合并到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>

                              哎呀哎呀视频在线观看