久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Linux中patch的使用解析

      在代碼開發(fā)的過程中常常需要在源碼的基礎上進行修改,在合并代碼的時候一般就會以patch的形式進行提交,那么生成patch和應用patch就需要了解一下了。

      所謂的patch其實就是文件對比,在Linux上使用diff命令(ref2)就可以得到patch.具體的命令為

      diff -uprN test1/ test2/ > test.patch

      上述命令對比了test1路徑下和test2路徑下的代碼差異,如果不需要對比某些內容,則在diff命令后使用–exclude-from=xx,在xx中指明哪些信息無需對比,如git信息等

      test1/a.txt

      123

      123

      test2/a.txt

      123

      123

      456

      test.patch

      diff -uprN test1/a.txt test2/a.txt

      +++ test2/a.txt 2018-08-01 14:31:55.000000000 +0800

      @@ -1,3 +1,4 @@

      123

      123

      +456

      參數(shù)詳解:

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

      -p 顯示代碼所在的c函數(shù)的信息.

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

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

      對比結果產(chǎn)生的test.patch就是我們需要的patch,假設現(xiàn)在需要未某一個未經(jīng)修改的源碼打上我們的patch,如給test1路徑下的文件打上patch

      cd test1

      patch -p1 < test.patch

      生成的補丁中, 路徑信息包含了你的源碼根目錄的名稱, 但其他人的源碼根目錄可能是其它名字, 所以, 打補丁時, 要進入你的源碼根目錄, 并且告訴patch工具, 請忽略補丁中的路徑的第一級目錄(參數(shù)-p1).

      這樣就可以將test.patch中的內容打到test1/a.txt中

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號