user7127000
user7127000

Reputation: 3243

How to set up a rebase in Git Bash on Windows

I'm trying to following the instructions on https://help.github.com/articles/using-git-rebase-on-the-command-line/ for interactively rebasing from my initial commit (More specifically, I'm trying to remove all the bin and obj folders from the history). So once I type in

git rebase -i --root

I get the following screen as expected, but then I can't figure out how to change the first one to edit. Like I can't figure out which button on the keyboard to click. Sorry if this is a stupid question.

enter image description here

Upvotes: 13

Views: 9898

Answers (2)

Manoj V
Manoj V

Reputation: 29

I faced a problem in doing squash commit on my Windows CMD and wanted to reproduce the steps I used to do squash commit on my Windows CMD as I felt the previous answer is not a complete guide on doing squash commit in Windows CMD.

Squashing commits into a single commit:

  1. git rebase -i HEAD~(Enter number of commits to be squashed)
  2. Press "i" to insert
  3. Now replace 'pick' with 's' for all unwanted commit messages
  4. Press Esc and then type ":wq"
  5. The above will open a new console. Remove all the unwanted commit lines
  6. Press Esc and then type ":wq" again

Your squash has now been completed.

Now the final step is to push the branch again with the command:-

git push origin (branch-name) -f

Upvotes: -1

ckruczek
ckruczek

Reputation: 2410

Thats pretty easy. You have to change the word pick to edit Then you save the file, in your case press ESC and then type :wq. Then git will start the rebase and you will stop on each commit you want to edit.

Edit: If you don't know how to insert in vim: press ESC and then i after that you are in insert-mode and as soon as you are finished with typing press ESC again and save it as described above.

Upvotes: 13

Related Questions