# Why I love GitLens in my VsCode - Interactive Rebase > One of the processes I typically do in my daily work is interactive rebase. I commit a lot, and then... - **Author**: Luca Del Puppo (@puppo92) — AI Native Engineer at Nearform - **Published**: Feb 28, 2023 - **Canonical URL**: https://delpuppo.net/blog/gitlens/why-i-love-gitlens-in-my-vscode-interactive-rebase/ - **Series**: GitLens (Part 3 of 3) — https://delpuppo.net/blog/series/gitlens/ - **Series LLMs.txt**: https://delpuppo.net/blog/series/gitlens/llms.txt - **Category**: GitLens - **Tags**: git, vscode, gitlens, gitkraken - **Hashnode Mirror**: https://blog.delpuppo.net/why-i-love-gitlens-in-my-vscode-interactive-rebase - **Dev.to Mirror**: https://dev.to/playfulprogramming/why-i-love-gitlens-in-my-vscode-part-3-14fm - **Blog Index LLMs.txt**: https://delpuppo.net/blog/llms.txt ## Series Context: GitLens - Part 1: [Why I love GitLens in my VsCode - First Steps](https://delpuppo.net/blog/gitlens/why-i-love-gitlens-in-my-vscode-first-steps/) - Part 2: [Why I love GitLens in my VsCode - Blame & Compare](https://delpuppo.net/blog/gitlens/why-i-love-gitlens-in-my-vscode-blame-compare/) - Part 3: [Why I love GitLens in my VsCode - Interactive Rebase](https://delpuppo.net/blog/gitlens/why-i-love-gitlens-in-my-vscode-interactive-rebase/) **(Current Article)** --- One of the processes I typically do in my daily work is interactive rebase. I commit a lot, and then before pushing the result, I try to make the history more readable. If you have to do that by CLI, you should follow many steps: ```bash > git log --oneline ``` This command returns the list of the commit ![Git commit history](https://cdn.hashnode.com/res/hashnode/image/upload/v1677330009538/2176c8e6-c851-4ee9-9dfb-14ec242a7219.png) Now, you have to get the SHA of the commit from where you want to start the interactive rebase and run the command ```bash > git rebase -i bf2478f ``` Now you can handle your rebase from your best editor, in my case VsCode. ```bash pick 4fcdf0e add documentation pick c7a47a9 add documentation # Rebase bf2478f..c7a47a9 onto bf2478f (2 commands) # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup [-C | -c] = like "squash" but keep only the previous # commit's log message, unless -C is used, in which case # keep only this commit's message; -c is same as -C but # opens the editor # x, exec = run command (the rest of the line) using shell # b, break = stop here (continue rebase later with 'git rebase --continue') # d, drop = remove commit # l, label