4

My repository has one branch and a number of different commits. The initial commit contains some code. I want to create a pull request of current branch but to an earlier version then the initial commit so that I can view the whole relevant code that has been added. How can I split a commit to 2?

JY2k
  • 2,879
  • 1
  • 31
  • 60

1 Answers1

4

You can follow the procedure described in this answer to "How to break a previous commit into multiple commits" with the exception that you need to add the --root switch, since you want to modify the first commit in your branch.

From the documentation:

--root
Rebase all commits reachable from <branch>, instead of limiting them with an <upstream>. This allows you to rebase the root commit(s) on a branch.

For example, assuming you wanted to modify the initial commit in master, you would say:

git checkout master
git rebase -i --root
Community
  • 1
  • 1
Enrico Campidoglio
  • 56,676
  • 12
  • 126
  • 154
  • When I tried this I found that this requires `git reset HEAD~` on the root commit which hits an error: `unknown revision of path not in working tree`. – gngdb Sep 05 '20 at 22:28
  • 1
    We found a way to do this by adding a dummy commit and reordering, then removing that dummy commit. Details here: https://gist.github.com/gngdb/52db51778d814cc48fd2ec94d7727beb – gngdb Sep 16 '20 at 21:44