git分割补丁
活用git rebase -i 就可以解决绝大部分补丁整理的问题。
假如我们有以下补丁:
=========
commit 03bb9a14f5ea00d51d2edc14587b37b1ab9ccf5d
Author: YongHao Hu christopherwuy@gmail.com
Date: Fri Jul 10 17:23:02 2015 +0800
msvcp110: Add tr2_sys__Unlink implementation and test.
commit 24137cd93c783ced61ca152cb4384287e6859ba4
Author: YongHao Hu christopherwuy@gmail.com
Date: Tue Jul 7 11:04:25 2015 +0800
msvcp110: Add tr2_sys__Symlink implementation and test.
commit 51702048d9ecd1dc3887a63c057761a8547ce5f6
Author: YongHao Hu christopherwuy@gmail.com
Date: Thu Jul 2 23:23:51 2015 +0800
msvcp110: Add tr2_sys__Link implementation and test.
===========
假设我们想要分割 msvcp110: Add tr2_sys__Unlink implementation and test.这个commit,可以直接使用
git rebase -i HEAD~7(数字随意,反正在Unlink这个commit前就可以了),选择Unlink这个commit,
改成edit。
一般情况下,就是这样修改commit的,修改后再git rebase –continue.
但是,我们需要的是分割补丁:
选择git rebase HEAD^,撤销这次commit,再把想改动的文件git add, 再git commit,这样就可以分割很多补丁。
最后,git rebase –continue就可以了。