How do you squash commits into one patch with git format-patch?

前端 未结 8 1109
無奈伤痛
無奈伤痛 2020-11-30 16:58

I\'ve got eight commits on a branch that I\'d like to email to some people who aren\'t git enlightened, yet. So far, everything I do either gives me 8 patch files, or start

8条回答
  •  盖世英雄少女心
    2020-11-30 17:14

    I'd recommend doing this on a throwaway branch as follows. If your commits are in the "newlines" branch and you have switched back to your "master" branch already, this should do the trick:

    [adam@mbp2600 example (master)]$ git checkout -b tmpsquash
    Switched to a new branch "tmpsquash"
    
    [adam@mbp2600 example (tmpsquash)]$ git merge --squash newlines
    Updating 4d2de39..b6768b2
    Fast forward
    Squash commit -- not updating HEAD
     test.txt |    2 ++
     1 files changed, 2 insertions(+), 0 deletions(-)
    
    [adam@mbp2600 example (tmpsquash)]$ git commit -a -m "My squashed commits"
    [tmpsquash]: created 75b0a89: "My squashed commits"
     1 files changed, 2 insertions(+), 0 deletions(-)
    
    [adam@mbp2600 example (tmpsquash)]$ git format-patch master
    0001-My-squashed-commits.patch
    

    Hope this helps!

提交回复
热议问题