日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.Cherry Pick与Create Patch的区别

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.Cherry Pick与Create Patch的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Cherry Pick與Create Patch的區別

    • 結論
    • 實驗
      • 場景1:應用時無沖突
      • 場景2: 應用時產生沖突
        • 使用cherry pick
        • 使用patch
      • 場景3:產生沖突,并且有其他文件的變更
    • 原理

結論

1.應用無沖突時cherry pick與patch一樣,只應用變更的內容;
2.區別在于cherry pick解決沖突時相會對沖突文件進行分支合并(每個commit的引用都可當作分支),而patch只應用變更的內容。
2.1.cherry pick解決沖突時只引用提交中的文件內容,不是全部分支合并。
我們來進行三組實驗,分別驗證這3個結論。

實驗

場景1:應用時無沖突

從master上切出兩個分支master-01,master-02。
目標:master-01分支應用master-02的一個提交
步驟:
在master-02分支上提交兩次。
在master-01分支上引用master-02的第二次提交,發現引用的是第二次提交的內容,第一次提交的內容沒有被引用。驗證了論點1
【master-02分支的兩次提交】:

【master-01 cherry pick之后:】

場景2: 應用時產生沖突

目標:master-03分支應用master-02的一個提交
步驟:
master-03 提交一個更改,如圖1
master-02 提交一個更改(這個更改不想被master-03引用),在與master-03提交的同一處再次提交了一個更改(制造沖突),如圖2

圖1:

圖2:


使用cherry pick

在master-03分支上使用 mater-02的最后一次更改
結果:解決沖突時會合并文件。把整個文件的更改都引用過來了。

使用patch

場景3:產生沖突,并且有其他文件的變更

從master上切出兩個分支master-01,master-02。
目標:master-01分支應用master-02的一個提交
步驟:
在master-01分支上進行一次提交;
在master-02分支上提交兩次;
在master-02分支上制造一個與master-01分支產生沖突的提交;
在master-01分支上引用master-02的第三次提交,發現沖突時只引用當前提交包含的文件,符合預期,驗證了論點3
【master-01進行一次提交】:

【master-02分支的三次提交】:

【master-01 cherry pick之后:】

原理

cherry pick引用的是一個commit,解決沖突時會將包含的文件當作分支進行合并。
patch只是一個提交的變更記錄,解決沖突時會當作本地修改進行合并。

總結

以上是生活随笔為你收集整理的1.Cherry Pick与Create Patch的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。