[GIT] patch只apply部份檔案

Posted on 週二 20 九月 2016 in Archive

因為commit沒有切乾淨or實在是太多commit很難pick 想把某個branch上開發的功能做成patch抽出來apply到另一個codebase的時候 就會因為有些檔案不存在而apply fail 或是產生很難resolve的conflict

遇到這個情況可以先用--check看哪些檔案會產生error

git apply --check your.patch

然後再從error看出哪些檔案不存在,直接用--exclude繞開 其他的conflict再用3-way merge的方法resolve

git apply -3 --exclude=paths/to/exclude/* your.patch