I have a case whereby I regret to commit a code on top of a commit. Since I have not yet push the change, I want to change my commit based on another parent commit. This what I did to make it happen:

$ git rebase --onto [new parent hash] [old parent hash]

After I executed this command, there are some conflicted files. I resolved the conflicts, and continue the rebase using this command:

$ git rebase --continue

By now, new commit created on that parent commit with my changes applied. Thanks to git rebase.

Open project window: Alt-1
Generate code or create new: Alt-Insert
Go to Navigation: Alt-Home
Show terminal: Alt-F12
Open new terminal tab: Ctrl+Shift+T
Close terminal tab: Ctr+Shift+W
Select method to override from parent class / interface: Ctrl-O
Go to method in current class: Ctrl-F12
Switch between active editor tabs: Alt-Left or Alt-Right

Terminal is very useful tool on our IntelliJ Idea editor. Unfortunately, this terminal does not recognize git commands since it is configured by default to run cmd.exe. When we are already get used to use git command on the terminal, running git command on this terminal could save us from opening another git command line outside our editor.

Follow this step to configure our editor:
1. Click File > Settings...
2. Browse to Tools > Terminal
3. Change Shell path from "git.exe" to "[path to git installation]\bin\sh.exe --login"
4. Click OK.

Now when you open new terminal on IntelliJ Idea, it will recognize git commands.