欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git的代碼合入流程詳解

 更新時(shí)間:2022年11月13日 11:40:00   作者:邢越峰  
這篇文章主要為大家介紹了Git的代碼合入流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

總述

代碼合入流程用于減輕代碼合入復(fù)雜度、簡(jiǎn)化主分支歷史(具有線性的歷史)、保證合入代碼對(duì)主分支的HEAD有效
代碼合入分為兩步

  • 解決沖突:將需要合入的分支變基到目標(biāo)分支之上。保證合入代碼對(duì)目標(biāo)分支的HEAD有效。此時(shí)會(huì)解決所有代碼沖突。
  • 執(zhí)行合入:向目標(biāo)分支提交merge請(qǐng)求,執(zhí)行合入CI后完成合入。

其中第一步“解決沖突”的方法分為兩種種情況:

  • Squash。如 feature分支 向 dev分支 合入;存在沖突的合入。此時(shí)會(huì)出現(xiàn) 合入過程沖突多、合入結(jié)果復(fù)雜(commit多)、合入message不清晰(未能完整描述改動(dòng)內(nèi)容)的問題。此時(shí)不需要保存歷史commit,僅需要干凈的將feature合入master。
  • Rebase。如 hotfix分支 向 dev分支 合入;feature分支 向 feature分支 合入。此時(shí)沖突少、合入結(jié)果簡(jiǎn)單、需要保存歷史commit。

其中第二步“執(zhí)行合入”應(yīng)采用 merge no-fast-forward 的方式。確保合入信息可追溯和易回退。

Rebase解決沖突

適用情況

  • hotfix → develop
  • feature → feature
  • develop → master

其中commit數(shù)量少(1~2個(gè)),開發(fā)周期短(1day)。

操作方式

其中dev分支向master分支合入。通過執(zhí)行 git log --all --graph --decorate 可看到如下圖。兩個(gè)分支已經(jīng)分開,如果通過在master分支git merge合入且存在沖突,那么會(huì)觸發(fā)三方合并在master生成merge commit污染主分支提交歷史,這是我們不想看到的。

此時(shí)我們執(zhí)行以下流程解決問題

git checkout dev  && git pull dev
git rebase master // 保證master與remote倉庫一致
// 若發(fā)生沖突執(zhí)行 git mergetool  解決沖突
git rebase --continue

此時(shí)可以看到master分支和dev分支干凈得合在一起。經(jīng)過單元測(cè)試并確認(rèn)我們的改動(dòng)沒有bug后,我們可以push并開啟mr。

Squash解決沖突

適用情況

  • feature → develop
  • gitlab → gerrit (此處為泊車自動(dòng)同步代碼中用到)

其中commit數(shù)量多(> 2個(gè)),開發(fā)周期長(zhǎng)(> 1day),沖突量大(每個(gè)commit可能都有沖突)。

操作方式

此處仍然是將dev合入master。其中dev分支提交歷史混亂(有tmp提交),commit號(hào)多且每個(gè)commit都與master有沖突。此時(shí)在master分支執(zhí)行 git merge dev 會(huì)觸發(fā)三方合并,且保留不必要的commit歷史。不必要的提交信息如圖

操作的初始狀態(tài)如圖


此處我們執(zhí)行如下操作,在master分支解決沖突并壓縮提交。隨后checkout一個(gè)提交分支并開啟mr。這有利于簡(jiǎn)化主分支提交。但需要小心,dev分支不能再使用,需要重新從master分支拉取新的dev。

git checkout master // 保證master與remote一致
git merge --squash dev
// 解決沖突  git mergetools  、  git commit -m <總結(jié)此次提交的所有內(nèi)容>
git checkout -b <mr-branch>
git push xxxx

mater結(jié)果如圖

Merge執(zhí)行合入

這里強(qiáng)調(diào)使用merge no fast forward的目的是保留合入信息。

git checkout master
git merge --no-ff dev

以上就是Git的代碼合入流程詳解的詳細(xì)內(nèi)容,更多關(guān)于Git代碼合入流程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 自己的vscode-settings.json配置詳解

    自己的vscode-settings.json配置詳解

    這篇文章主要介紹了自己的vscode-settings.json配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • UTF8編碼開發(fā)中頁面空白問題的解決方法

    UTF8編碼開發(fā)中頁面空白問題的解決方法

    開發(fā)中一直沒辦法解決的一個(gè)問題頁面采用UTF8編碼,頭部和尾部用了模板包含文件的方法,結(jié)果頭部和尾部無端端各多出一個(gè)約10px的空行,什么也沒有。
    2008-10-10
  • 網(wǎng)站程序員如何應(yīng)對(duì)web標(biāo)準(zhǔn)

    網(wǎng)站程序員如何應(yīng)對(duì)web標(biāo)準(zhǔn)

    網(wǎng)站程序員如何應(yīng)對(duì)web標(biāo)準(zhǔn)...
    2007-04-04
  • Git實(shí)現(xiàn)克隆歷史的某個(gè)版本

    Git實(shí)現(xiàn)克隆歷史的某個(gè)版本

    這篇文章主要介紹了Git實(shí)現(xiàn)克隆歷史的某個(gè)版本,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vscode 打字特效插件Power Mode安裝使用介紹

    Vscode 打字特效插件Power Mode安裝使用介紹

    本文給大家推薦的是一款Vscode的打字特效的插件Power Mode的安裝使用說明,插件非常的炫酷,推薦給大家,希望大家能夠喜歡
    2020-02-02
  • 關(guān)于IDEA git 只有Commit沒有Push的問題

    關(guān)于IDEA git 只有Commit沒有Push的問題

    這篇文章主要介紹了關(guān)于IDEA git 只有Commit沒有Push的問題,本文給大家介紹的非常想詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • git 報(bào)錯(cuò):OpenSSL SSL_read: Connection was reset, errno 10054 解決方法

    git 報(bào)錯(cuò):OpenSSL SSL_read: Connection was&

    這篇文章主要介紹了git 報(bào)錯(cuò):OpenSSL SSL_read: Connection was reset, errno 10054 解決方法,涉及git配置信息及緩存相關(guān)操作技巧,需要的朋友可以參考下
    2023-04-04
  • git merge最簡(jiǎn)潔用法詳解

    git merge最簡(jiǎn)潔用法詳解

    git-merge 命令是用于從指定的 commit(s) 合并到當(dāng)前分支的操作,本文重點(diǎn)給大家介紹git merge最簡(jiǎn)潔用法,感興趣的朋友跟隨小編一起看看吧
    2020-12-12
  • git中reset和revert區(qū)別小結(jié)

    git中reset和revert區(qū)別小結(jié)

    本文主要介紹了git中reset和revert區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Web 設(shè)計(jì)與開發(fā)者必須知道的 15 個(gè)站點(diǎn)

    Web 設(shè)計(jì)與開發(fā)者必須知道的 15 個(gè)站點(diǎn)

    今天讀到一篇文章,介紹了15個(gè)對(duì) Web 設(shè)計(jì)與開發(fā)師極端有用的站點(diǎn),里面有不少也是我們一直在使用的,也許對(duì)很多人都有用,翻譯出來以餉同仁。
    2009-08-08

最新評(píng)論