補丁工具Quilt與Git

2021-08-20 02:21:18 字數 1801 閱讀 1527

操作(基本)

操作(高階)

流程git

鳴謝常用補丁工具操作及適用場景,不僅限於linux/openwrt。

網上教程幾乎看不到(估計是這個工具的名字不太好,衝突了),補丁生成後會在makefile目錄下生成patches目錄,用於存放quilt格式補丁檔案。

$ ls feeds/packages/strongswan

files makefile patches

取消應用(彈棧)(回滾)

建立補丁

quilt new ***-new-page-about-patch-tools.quilt

新增欲修改檔案(記錄下檔案初始狀態)

quilt add readme.md

修改,開發

quilt edit readme.md

你不一定要用quilt edit來對檔案進行修改,edit只是調取外部編輯器供使用者編輯,完後quilt再自動與初始副本進行比較,得出差異項(patch),於是乎:

(常用如scp/sftp,遠端編輯)

儲存為patch

quilt refresh

檢視當前補丁中已修改檔案

quilt files

已修改(當前補丁)

quilt diff

debian wiki - usingquilt

準備環境,釋放**,準備補丁庫

make package/feeds/packages/strongswan/ v=s quilt=1切換至臨時開發目錄

cd build_dir/target*/strongswan*/打補丁

應用所有

quilt push -a

應用部分

quilt push ***-redirect...patch

撤銷補丁

quilt pop ***-redirect...patch

撤銷所有

quilt pop -a

當前補丁

quilt top新增補丁或編輯舊補丁

quilt new ***-*.patch新增追蹤

quilt add ***.c編輯

quilt edit ***.c確認修改(可選)

quilt files && quilt diff儲存修改

quilt refresh回到主目錄,將補丁從臨時開發目錄更新至補丁庫(makefile同級patches)

cd ../../../ && make package/feeds/packages/strongswan/update v=s重新編譯

make package/feeds/packages/strongswan/ v=s

v=s相當於verbose,輸出詳細log

教程多,主流

理解原理才能有效避免合併衝突

廖雪峰git教程 - 分支管理

git daily

前同事,他姓黃

給luci挖的坑

openwrt交叉編譯環境

工具之git補丁操作

情況說明 當你有兩個相同的repo repo1和repo2,並且你在repo1中對 進行了修改,現在想把repo1的修改新增到repo2中,但總不會乙個乙個手動修改吧,git就提供了打補丁的工具,將改進的部分進行增刪。操作如下 1.先在repo1中checkout到修改後的branch,再修改提交c...

git補丁應用git apply patch

假如,有這樣的 目錄層次 x xx ttt.c 而 我的 當前位置 是在 x 下,執行git diff test.patch 在test.patch補丁檔案裡的路徑資訊是這樣的 a xx b xx 如果 應用 test.patch 的時候的 位置 是在 x 下,那麼 執行 patch p1 test...

git如何打補丁?

git cherry pick 可以把某個分支的某幾次提交合入到當前分支,只是在一台裝置上操作。git format patch 可以把某個分支的n次提交分別打成n個補丁,然後把這些補丁檔案 比如0001 patch 發給其他人,或者發到其他機器,他們在自己的機器上,把這些補丁合入到他們當前的 中。...