ZhangZhihui@ZZHPC MINGW64 /e/WeChatProjects/MySongList
$ git init
Initialized empty Git repository in E:/WeChatProjects/MySongList/.git/
ZhangZhihui@ZZHPC MINGW64 /e/WeChatProjects/MySongList (main)
$ git add .
ZhangZhihui@ZZHPC MINGW64 /e/WeChatProjects/MySongList (main)
$ git commit -m "Initial"
ZhangZhihui@ZZHPC MINGW64 /e/WeChatProjects/MySongList (main)
$ git branch -M main
ZhangZhihui@ZZHPC MINGW64 /e/WeChatProjects/MySongList (main)
$ git remote add origin git://github.com/ZhangZhihuiAAA/MySongList.git
ZhangZhihui@ZZHPC MINGW64 /e/WeChatProjects/MySongList (main)
$ git push -u origin main
fatal: read error: Invalid argument
Ah! That fatal: read error: Invalid argument when trying to push usually happens due to using the git:// protocol on Windows, especially on Git Bash (MINGW64). The git:// protocol is read-only and not secure; it often causes issues for pushing. On Windows, it also sometimes triggers low-level read errors.
Here’s how you can fix it:
1. Use HTTPS or SSH instead of git://
Instead of:
Use HTTPS:
Or SSH (if you have SSH keys set up):
2. Verify remote URL
Check with:
You should see something like:
3. Optional: Remove and re-add origin
If the above still fails:
💡 Tip: On Windows, git:// is rarely needed. HTTPS is simpler and more reliable for both fetch and push.

浙公网安备 33010602011771号