2

I'm trying to squash 40+ commits together in a branch I'm working on using interactive rebase. My chosen editor in git is vscode. When I run the command:

git rebase -i <commit>

I briefly see the file to edit appear in vscode, but then it automatically closes. It renames the file from "git-rebase-todo" to "git-rebase-todo (deleted from disk)" and then closes the tab.

Why is this happening? What are my options?

1 Answers1

4

The vscode forks (spawns) a new process. The original one exits and confuses git, as for git exiting editor means that job is done. rebase tmp file git-rebase-todo is deleted by git,what is indicated by vscode.

To fix that, update git config to use start vscode in the wait mode:

git config --global core.editor "code --wait"
torek
  • 448,244
  • 59
  • 642
  • 775
kofemann
  • 4,217
  • 1
  • 34
  • 39