0

Let's say I have a branch with a bunch of commits in it, it's there a way where I can delete almost all of the commits in there, except for the last 2 or 3 ones?

For example, I have this on my branch:

+ Commit1
+ Commit2
+ Commit3
+ Commit4
+ Commit5
+ Commit6
+ Commit7
+ Commit8
+ Commit9
+ Commit10
+ Commit11
+ Commit12
+ Commit13
+ Commit14
+ Commit15
+ Commit16
+ Commit17
+ Commit18
+ Commit19
+ Commit20
+ Commit21
+ Commit22
+ Commit23
+ Commit24
+ Commit25
+ Commit26
+ Commit27
+ Commit28

I only want to keep Commit26, Commit 27 and Commit28 (the most recent ones, so to speak)

Is there a way I can do this?

Daniel Corona
  • 839
  • 14
  • 34

1 Answers1

0

I recommend to use git rebase -i

On your case

git rebase -i Commit0

Then you delete the commit you don't want to keep

You will get something like

pick Commit28
pick Commit27
pick Commit26
pick Commit25
pick Commit24
pick Commit23
pick Commit22
pick Commit21
pick Commit20
pick Commit19
pick Commit18
pick Commit17
pick Commit16
pick Commit15
pick Commit14
pick Commit13
pick Commit12
pick Commit11
pick Commit10
pick Commit9
pick Commit8
pick Commit7
pick Commit6
pick Commit5
pick Commit4
pick Commit3
pick Commit2
pick Commit1

just delete lines to get:

pick Commit28
pick Commit27
pick Commit26
Ôrel
  • 7,044
  • 3
  • 27
  • 46