最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Git Commit生成與合入Patch指南分享

 更新時間:2025年08月01日 10:56:27   作者:龍之葉  
文章介紹了生成和應用補丁的兩種方法:diff命令對比目錄生成補丁(需路徑一致或使用軟鏈接),及Git format-patch生成特定提交的補丁,同時說明了使用patch命令合入補丁的步驟,包括忽略目錄層級和撤銷操作

1. 生成 Patch 文件

1.1 使用 Diff 命令生成 Patch

通過 diff 命令,可以為兩個目錄生成差異補丁,這對于文件夾內(nèi)文件的修改非常有用,可以生成一個包含所有修改操作的補丁文件。

前提條件:

  • 需要對比的兩個目錄的頂層路徑深度需一致。若不一致,建議使用軟鏈接來滿足此要求。

示例:

假設有兩個目錄:

  • 目錄1:/media/data2/quectel/r12/cn_kj_r12a07/ql-ol-kernel/
  • 目錄2:/tmp/sdk/cn_kj_r12a07/ql-ol-kernel/

可以通過以下命令創(chuàng)建軟鏈接并生成補?。?/p>

mkdir patch
ln -s /media/data2/quectel/r12/cn_kj_r12a07/ql-ol-kernel/ patch/new 
ln -s /tmp/sdk/cn_kj_r12a07/ql-ol-kernel/ patch/old

若只修改了部分目錄(如 arch/arm/boot/dts/qcom,drivers,sound),則只需對比這些路徑:

cd patch 
diff -Naur old/arch/arm/boot/dts/qcom new/arch/arm/boot/dts/qcom > gpio-export.diff
diff -Naur old/drivers new/drivers >> gpio-export.diff
diff -Naur old/sound new/sound >> gpio-export.diff

參數(shù)說明:

  • -N: 將不存在的文件視為空文件。
  • -a: 將所有文件視為文本文件處理。
  • -u: 輸出差異時附帶差異前后三行的內(nèi)容。
  • -r: 遞歸比較所有子目錄。

注意:

  • 確保生成的補丁中,對比文件路徑的頂層路徑一致,以便合并時能正確找到對應文件。

1.2 使用 Git Format-Patch 生成 Patch

在 Git 中,可以使用 git format-patch 命令生成特定 commit 的補丁文件。

步驟:

  1. 確保已提交想要生成補丁的 commit。
  2. 使用 git format-patch 命令生成補丁文件。

示例:

  • 生成最新提交的補?。?/li>
git format-patch -1 HEAD
  • 為特定 commit 生成補?。?/li>
git format-patch -1 <commit-hash>
  • 為一系列 commits 生成補?。?/li>
git format-patch <commit-hash1>..<commit-hash2>

常用命令:

$ git format-patch HEAD^ # 生成最近的1次commit的patch
$ git format-patch HEAD^^ # 生成最近的2次commit的patch
$ git format-patch HEAD^^^ # 生成最近的3次commit的patch
$ git format-patch <r1>..<r2> # 生成兩個commit間的修改的patch
$ git format-patch -1 <r1> # 生成單個commit的patch
$ git format-patch --root <r1> # 生成從根到r1提交的所有patch

2. 合入 Patch 文件

2.1 使用 Patch 命令合入

將生成的 .diff 或 .patch 文件復制到目標目錄,然后使用 patch 命令合入。

示例:

cp gpio-export.diff /tmp/sdk/cn_kj_r12a07/ql-ol-kernel/
patch -p1 < gpio-export.diff

參數(shù)說明:

  • -p1: 合入時忽略第一層目錄。例如,.diff 文件中的 new/sound/soc/soc-jack.c 路徑,查找時會忽略 new/ 前綴。
  • -pn: 忽略 n 層目錄。

撤銷補丁:

patch -p1 -RE < /media/data2/quectel/r12/patch/gpio-export.diff

參數(shù)說明:

  • -R: 還原修改,即撤銷合入的補丁。
  • -E: 刪除合入補丁后的空文件。

通過以上步驟,您可以輕松地生成并合入 Git commit 的 patch 文件,從而方便地進行代碼的審查和合并。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Windows 系統(tǒng)下的 Git 2.7 最新下載及安裝教程圖文詳解

    Windows 系統(tǒng)下的 Git 2.7 最新下載及安裝教程圖文詳解

    這篇文章主要介紹了Windows 系統(tǒng)下的 Git 2.7 最新下載及安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Git推送代碼的7種高效方式

    Git推送代碼的7種高效方式

    在 Git 中,推送代碼(即將本地提交推送到遠程倉庫)有多種方式,每種方式適用于不同的協(xié)作場景和需求,以下是幾種常見的推送代碼的方式、結合完整示例說明,并以表格形式總結對比,需要的朋友可以參考下
    2025-08-08
  • gitee命令行上傳項目的步驟詳解

    gitee命令行上傳項目的步驟詳解

    這篇文章主要介紹了gitee命令行上傳項目的步驟詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 在VS Code中配置Git的完整步驟記錄

    在VS Code中配置Git的完整步驟記錄

    git是一個版本管理工具,使用git之前,首先要進行配置,這篇文章主要介紹了在VS Code中配置Git的完整步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • 程序員用vscode聽網(wǎng)易云的實現(xiàn)

    程序員用vscode聽網(wǎng)易云的實現(xiàn)

    很多程序員在工作的時候都喜歡聽歌,最近發(fā)現(xiàn)了一個vscode插件,可以直接使用vscode進行聽歌,本文就詳細的介紹一下如何使用,感興趣的可以了解一下
    2021-12-12
  • 關于頁面刷新,事件重復提交的方法分享

    關于頁面刷新,事件重復提交的方法分享

    在處理頁面事件時,我們會經(jīng)常會碰到這樣的情況:當我們在提交一項頁面表單時,在提交成功后,當我們試圖按F5刷新頁面時,數(shù)據(jù)會再次的被重復提交
    2012-10-10
  • vscode eslint插件報錯Parsing error: Invalid ecmaVersion問題

    vscode eslint插件報錯Parsing error: Invalid 

    這篇文章主要介紹了vscode eslint插件報錯Parsing error: Invalid ecmaVersion問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 基于rsync寫腳本實現(xiàn)多節(jié)點多服務器文件一鍵同步的方法

    基于rsync寫腳本實現(xiàn)多節(jié)點多服務器文件一鍵同步的方法

    這篇文章主要介紹了利用rsync寫腳本實現(xiàn)多節(jié)點多服務器文件一鍵同步,本文將介紹?scp?和?rsync?兩個命令及基本語法介紹,需要的朋友可以參考下
    2022-01-01
  • Git開發(fā)中的常用指令及其使用場景詳解

    Git開發(fā)中的常用指令及其使用場景詳解

    本文介紹了Git的安裝、配置以及基本操作,包括創(chuàng)建和初始化倉庫,常用命令如分支管理,提交和撤回操作,還涵蓋了協(xié)作中遇到的拉取代碼、解決沖突的場景,希望對大家有所幫助
    2026-05-05
  • github訪問速度慢的問題完美解決

    github訪問速度慢的問題完美解決

    這篇文章主要為大家介紹了github訪問速度慢的問題完美解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論

仪陇县| 西藏| 云霄县| 石景山区| 濮阳市| 安平县| 左云县| 新竹县| 峨山| 县级市| 新邵县| 遂川县| 山东省| 安化县| 永福县| 搜索| 额敏县| 巴马| 灵台县| 红河县| 琼海市| 蚌埠市| 新乐市| 霸州市| 安新县| 台江县| 潜江市| 昌平区| 辽阳市| 驻马店市| 泗阳县| 盘山县| 白朗县| 泰顺县| 永春县| 宜川县| 措勤县| 卓尼县| 万年县| 镇原县| 安图县|