You can also simulate such functionality with a global HashTable. Example:
$mdirs = @{
git = "D:\Something\git"
docs = "C:\Users\Bob\Documents"
art = "F:\Art"
}
Call e.g. $mdirs.git to get the value. This has an advantage of you being able to call $mdirs to see all the definitions, there's also Tab completion.
For it to be global/permament, you need to add it to your profile, which is required also by pretty much all other solutions. You can enter $PROFILE in your PowerShell console(s) to know where their profile files reside, it differs per version.
The disadvantage is that you need to edit the file for any future changes. A fully dynamic solution wouldn't be too hard to code though. You could just write few functions that add/read/remove unique aliases to/from a file and then in profile use the read function to set up either a HashTable or anything else.