操作(基本)
操作(高階)
流程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 發給其他人,或者發到其他機器,他們在自己的機器上,把這些補丁合入到他們當前的 中。...