24

I need to get patch file for inital commit (which is not empty) for our review process, but I'm confused as git format-patch command only makes it from branch that is on initial commit not including it.

Seems it must be some obvious move but I'm completely missing it.

Vlad Fedin
  • 498
  • 5
  • 8

3 Answers3

28

Try git format-patch --root $SHA (where $SHA is that first commit)

Lily Ballard
  • 182,031
  • 33
  • 381
  • 347
  • 1
    It works for getting a patch file from the first commit only. when getting patch files from all history, it requires two steps: 1) get a patch file from the initial commit, apply it. then gets patch files by running `git format-patch ${SHA1_of_initial_commit)..HEAD`, apply them. – shawnzhu May 02 '18 at 19:09
8

for making patch for a single commit just use

git format-patch -1 HEAD # where "1" is a number, not "ell".

where "HEAD" could be changed to any other commit, or even hash code. This works even if HEAD is the first commit. I am not sure whether you are asking for this.

3

Maybe this has changed, but

git format-patch --root

just created all patch files including the initial commit and HEAD. My git version is 2.26.2.windows.1.

hochl
  • 12,524
  • 10
  • 53
  • 87
  • Yes! This is good. As the poster says, this does All COMMITS from initial commit through to the most recent I have just run this on git version 2.34.1.windows.1 Thank you – Phil Whittington Jan 26 '22 at 22:22