If you are used to that workflow, you can do the same with Emacs.
In Emacs, you can open multiple windows (frames in Emacs terminology) with C-x 5 2 and switch between them with C-x 5 o or close the current one with C-x 5 0 (among other things.) Frames share buffers, though, which can cause problems; if you bump into that, you may want to use separate Emacs instances for different projects (which may cause other problems; YMMV)
For project management, there are several solutions. Projectile is my best bet, probably being the most widely used one. It can deal with projects based on version control, or you can set them up based on directories (but you should definitely use version control, anyway). It can solve the problem of having multiple frames in the same instance, as you can switch to another file in the same project with C-c p f.
For Git, there is the awesome magit project, which is a feature-full wrapper around Git. The built-in vc package can also be a good friend, and I’m pretty sure similar packages exist for other version control software.