Repository: flutter
Issue: Easy Flutter Version Change (flutter version -c <version>)
Labels: c: new feature,tool,c: proposal,P3,team-tool,triaged-tool

<!-- Thank you for using Flutter!

     If you are looking for support, please check out our documentation
     or consider asking a question on Stack Overflow:
      * https://flutter.dev/
      * https://api.flutter.dev/
      * https://stackoverflow.com/questions/tagged/flutter?sort=frequent

     If you have found a bug or if our documentation doesn't have an answer
     to what you're looking for, then fill out the template below. Please read
     our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports
-->

## Use case

As a developer tool flutter is very complex and strict in terms of its versions. Every next day we get some new release and update with some great features. The complexity is when we have the latest or specific version installed in our system (eg: 2.2.3). We cannot run the code created in the old version (eg: 1.22.6). We Understand this is not due to flutter but the packages, still we expect support from flutter.

To execute the code either we have to refactor the code or change the version of flutter in our system. Which is low in productivity and costs a lot of time.

Sometimes we get the project partially completed or we just have to solve some issue in it for someone in need. We cannot run the project due to the complexity of the flutter's version and packages dependencies.

But there is a sweat, easy and simple solution to it and We think flutter just needs a command for it.

<!--
     Please tell us the problem you are running into that led to you wanting
     a new feature.

     Is your feature request related to a problem? Please give a clear and
     concise description of what the problem is.

     Describe the alternative solutions you've considered. Is there a package
     on pub.dev/flutter that already solves this?
-->

## Proposal

What do I do in case I get a code from the lower version and I have to run it just once, solve it and return it.

- Go to my src/ folder of flutter and install the required version over their with directory respective to the version number (eg: /flutter_1.22.6). If not available.
- Then all needed is to rename the existing /flutter directory with its respective version number (eg: /flutter_2.2.3).
- And rename the directory of /flutter_1.22.6 to /flutter
- It's done. Now I can successfully run the 2 versions of flutter without any time delay all I need to do is renaming the directories to change the version.

I prepared a script to do it for me. But it is just for me not for the whole community.

<!--
     Briefly but precisely describe what you would like Flutter to be able to do.

     Consider attaching images showing what you are imagining.

     Does this have to be provided by Flutter directly, or can it be provided
     by a package on pub.dev/flutter? If so, maybe consider implementing and
     publishing such a package rather than filing a bug.
-->

## Request
We request to bring this feature in the flutter command line (eg: flutter version) just because while flutter upgrade, it overwrites the current version and the old version is lost. By the new approach, we can have 2 versions available in the system and allow the developers to delete specific versions if no longer.

# We can have the commands as 👍🏻 
```
flutter version                  List the available version of flutter
flutter version -c <version>     Switch flutter version
flutter version -d <version>     Delete the selected version
flutter version -i <version>     Install selected version
```
It's small, simple and very needed. Please try to bring it to live as soon as possible.

Thank You