Deprecate multisite in 8.x for removal in 9.x I am thinking about implementation of some sites with multi-site and idea of solution (one code-base) is perfect for me even if shared table is not supported any more (my question about shared table is here also i'm aware of domain module too).  

After some search, I found this topic about plan to deprecate multi site in 8.x and removal in 9.x.

My questions  are:


How serious is deprecation in 8.x and removal plan of multi-site in drupal 9? the topic is in category of plan for two years.
Even if removal happens in 9.x, we have to expect some migration path to removal of 9.x or not? In my idea this migration didn’t happen for shared tables.
Proposed solution for removal of multisite in mentioned topic is



  The modern approach to multi-site is: git — Same code, different
  sites. Under your control. And well-maintainable.


I can’t understand it. How does it works?
You have a few questions there, so I'll hit them individually:


  How serious is deprecation in 8.x and removal plan of multi-site in
  drupal 9? the topic is in category of plan for two years.


It's hard to say. Controversial topics like that can go in circles for years in the open source community. As you can see, that topic started over three years ago, and still has not reached a conclusion, and may well never reach one.


  Even if removal happens in 9.x, we have to expect some migration path to removal of 9.x or not? In my idea this migration didn’t happen for shared tables.


It will be fine even if you are sharing tables, as you can just migrate each multisite to a new individual site. You may have to do a special database dump and import to get the shared tables into your new system. I did this once when migrating from D6 to D7 for my company site - I was using multi site, and in the upgrade, I just created two sites out of the one.


  I can’t understand it. How does it works?


Git keeps all your code in a repository, which you can clone as necessary. So any time you need to spin up another site, you just clone the code, and you have a new Drupal instance. As you update sites over time, you can merge the code changes from one repository to another.

In my own company system, we have a central repository for each project. Any time someone new works on the project, they clone the code from the central repository, and they have an exact copy of the site. We then clone the repository to the webroot, so that it is available over the web. When people make changes to the code, they push the changes to that central repository, and then anyone can pull them at any time to their own repository, and/or the repository stored in the webroot of the public site.