patch和git製作和應用補丁

2021-07-10 20:23:36 字數 788 閱讀 6542

**

1、處理單個檔案補丁的方法:

產生補丁

diff -un from-file to-file >to-file.patch

打補丁

patch -p0 < to-file.patch

取消補丁

patch -re -p0 < to-file.patch

2、對整個資料夾打補丁的情況:

產生補丁

diff -unr from-docu to-docu >to-docu.patch

打補丁

patch -p1 < to-docu.patch

取消補丁

patch -r -p1 注,衝突:

.orig 合併前檔案備份。

.rej 檔案裡是衝突沒合入的內容。

1、git format-patch (推薦)

只適用於git的patch

包含diff資訊,包含提交人,提交時間等

如果git format-patch 生成的補丁不能打到當前分支,git am會給出提示,並協助你完成打補丁工作

例:從master checkout乙個新分支修改然後與master對比生成patch。git format-patch -m master //-m選項表示這個patch要和那個分支比對

git am 001-***.patch(不必重新commit)

2、git diff

如何利用git製作和提交patch

不過在git中,我們沒有必要直接使用diff和patch來做補丁,這樣做既危險又麻煩。git提供了兩種簡單的patch方案。一是用git diff生成的標準patch,二是git format patch生成的git專用patch 我們可以首先用git diff製作乙個patch。本文示例的工作目錄...

如何利用git製作和提交patch

不過在git中,我們沒有必要直接使用diff和patch來做補丁,這樣做既危險又麻煩。git提供了兩種簡單的patch方案。一是用git diff生成的標準patch,二是git format patch生成的git專用patch 我們可以首先用git diff製作乙個patch。本文示例的工作目錄...

補丁 patch 的製作與應用

用到的兩個命令是diff和patch。diff可以比較兩個東西,並可同時記錄下二者的區別。製作補丁時的一般用法和常見選項為 diff 選項 原始檔 夾 目的檔案 夾 r 遞迴。設定後diff會將兩個不同版本源 目錄中的所有對應檔案全部都進行一次比較,包括子目錄檔案。n選項確保補丁檔案將正確地處理已經...