我的情况类似于question。目前这个命令完美地向我展示了我需要的所有提交:
git log --cherry-pick --oneline --no-merges --left-only branchB...branchA
现在,我想创建一个补丁文件,其中包含上述命令中显示的每个提交。我该怎么办?
答案 0 :(得分:2)
试试这个。我希望现在还为时不晚。
NUM=1
for commit in $(git log --cherry-pick --no-merges --left-only branchB...branchA --reverse --pretty=tformat:"%H")
do
git format-patch -1 $commit --start-number $NUM
((NUM++))
done
--reverse
强制git-log
以相反的顺序推送结果 - 从最早的一个到最新的一个,"%H"
它的格式只包含提交sha1哈希。哈希作为单个(-1
)提交提供来创建补丁。具有递增值的--start-number
会导致以正确的顺序创建补丁文件。