I have the same issue like https://stackoverflow.com/questions/32186840/git-for-windows-doesnt-execute-my-bashrc-file and tried to make the same steps. But my Git Bash (2.5.0, 64bit on Windows 7, 64bit) doesn't know my %USERPROFILE%.

pitgrap@xxx MINGW64 /
$ pwd
/

pitgrap@xxx MINGW64 /
$ cd ~
bash: cd: /%USERPROFILE%: No such file or directory

If I run Git Bash as Administror, it works. :( But I don't want to run it everytime as Administrator. Any ideas?

This just has to do with how each of those different languages handle variable expansion.

cmdC:\> echo %USERPROFILE%
bash: $ echo $USERPROFILE
ps:     PS> echo $env:USERPROFILE

In windows cmd prompt, variables should be surrounded by % on either side
Whereas Bash and PowerShell indicate a variables by prefixing with a $.

Git Bash gets all existing Windows environment variables at startup, while powershell tries to limit polluting the global namespace by including them under the $env object

Shell Comparison

If you want to confirm the shell has access to the environment variable, you can list all variables:

cmd (docs)C:\> SET
bash (docs): $ printenv
ps (docs):     PS> Get-ChildItem env: