成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你 Linux 下打 Patch

開發 項目管理
在項目中,如果和其他人一起維護一個項目,有時候別人修改了一些代碼,更換 .c 文件也很麻煩,這時就需要用到 patch 了,別人只要發一個 patch ,你打上即可。

本文轉載自微信公眾號「嵌入式Linux系統開發」,作者Jasonangel 。轉載本文請聯系嵌入式Linux系統開發公眾號。

在項目中,如果和其他人一起維護一個項目,有時候別人修改了一些代碼,更換 .c 文件也很麻煩,這時就需要用到 patch 了,別人只要發一個 patch ,你打上即可。

patch:補丁,用來顯示兩個文件不同的地方。

制作補丁有兩種方法,diff 和 quilt,本文我們討論 diff。

1、創建兩個文件,a.c 和 b.c

a.c

  1. #include <stdio.h> 
  2.  
  3. int main() 
  4.  printf("Jason 20220116\r\n"); 
  5.  return 0; 

b.c

  1. #include <stdio.h> 
  2.  
  3. int main() 
  4.  printf("Jason 20220116\r\n"); 
  5.  printf("test diff patch\r\n"); 
  6.  return 0; 

2、生成補丁

  1. diff -u a.c b.c > test.patch 

上圖可以看到 test.patch 的內容,包括修改時間,修改的哪一行,都標注的很明顯。

diff

比較兩個文件的不同,然后記錄下來,也就是所謂的 diff 補丁。

  1. diff [options] from-file to-file 

from-file:源文件

to-file:根據源文件修改后的文件

option:

-u 顯示有差異行的前后幾行(上下文), 默認是前后各 3 行, 這樣, patch 中帶有更多的信息

-p 顯示代碼所在的 c 函數的信息

-N 選項確保補丁文件將正確地處理已經創建或刪除文件的情況

-a 逐行比較文本文件

-r 比較子目錄中的文件

打 patch

兩個文件:需要打補丁的文件 a.c 和 patch 文件 test.patch

打補丁命令如下:

  1. patch a.c < test.patch 

實際操作如下:

補充:

patch -RE < test.patch 取消 patch 對源文件的修改

patch -p1 < test.patch

p 表示跳過幾級目錄,0 標識不去掉為全路徑,1 標識去掉第一層路徑。路徑信息包含了你的 Linux 源碼根目錄的名稱,但其他人的源碼根目錄可能是其它名字,所以,打補丁時,要進入你的 Linux 源碼根目錄,并且告訴 patch 工具,請忽略補丁中的路徑的第一級目錄。

注意:patch -p 后面是不能帶負數 的。不使用 p 參數的時候,patch 命令會 忽略 任何目錄,直接使用文件。

多文件打 patch

本文是兩個文件做比較,打 patch,比較簡單。如果是一個工程,有多個文件修改,需要在 diff 后面增加兩個屬性:

-r 遞歸地對比一個目錄和它的所有子目錄(即整個目錄樹).

 

-N 如果某個文件缺少了,就當作是空文件來對比. 如果不使用本選項,當 diff 發現舊代碼或者新代碼缺少文件時,只簡單的提示缺少文件。如果使用本選項,會將新添加的文件全新打印出來作為新增的部分。

 

責任編輯:武曉燕 來源: 嵌入式Linux系統開發
相關推薦

2011-01-10 14:41:26

2009-06-15 16:58:57

Java安裝Linux

2021-09-18 14:26:49

Linux Linux 啟動流程Linux 系統

2021-07-14 09:00:00

JavaFX開發應用

2011-05-03 15:59:00

黑盒打印機

2025-05-07 00:31:30

2010-07-06 09:43:57

搭建私有云

2020-07-27 10:15:51

LinuxJenkins命令

2020-06-01 16:25:43

WindowsLinux命令

2020-12-21 09:47:16

UbuntuMinicondalinux

2023-04-26 12:46:43

DockerSpringKubernetes

2022-01-08 20:04:20

攔截系統調用

2022-12-07 08:42:35

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2022-07-27 08:16:22

搜索引擎Lucene

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中斷喚醒系統Linux 系統

2020-05-22 08:52:08

LinuxPython工具

2009-12-02 18:34:29

Linux關閉防火墻命
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色欧美片视频在线观看 | 亚洲精品福利在线 | 精品亚洲一区二区三区四区五区 | 亚洲欧美日本国产 | 久久性色 | 日本小视频网站 | 中文字幕国产精品 | 欧美美女爱爱视频 | 91性高湖久久久久久久久_久久99 | 国产精品麻| 久久91 | 久久久99国产精品免费 | 日韩一区二区视频 | 午夜电影一区二区 | 久久久久国产一区二区三区 | 久久国产一区 | 伊人久久综合 | 红色av社区| 国产草草视频 | 国产一级在线 | 成人免费小视频 | 午夜影院黄 | 国产人成精品一区二区三 | 男人的天堂在线视频 | 亚卅毛片 | 男女羞羞的网站 | 蜜桃一区二区三区在线 | 一级片片 | 99精品福利视频 | 成人午夜激情 | 亚洲免费高清 | 精品一二三区 | a久久 | 欧美日韩国产综合在线 | 一区精品国产欧美在线 | 久久9精品 | 国产精品色 | 免费二区| 精品日韩一区二区 | 国产伦精品一区二区三区照片91 | 精品视频一区二区三区在线观看 |