【実録・初心者向け】Windows日本語ユーザー名でGitHubに初pushするまで全部(詰まり・解決・学びを時系列で)
この記事は、自分が VS Code × Git × GitHub を初めてインストールからプッシュまで行った際の、
成功と失敗を包み隠さず 時系列でまとめた記録です。
同じところで詰まった人が、この記事だけで抜けられるように、コマンドも全部載せました。
- OS: Windows11(ユーザー名が 漢字4文字 + 半角スペース入り)
- シェル: PowerShell(管理者権限)
- エディタ: VS Code
- Git: Git for Windows
-
Node:
v22.18.0
(動作確認用) - GitHub: SSH接続(公開鍵登録済み)
目次
- はじめに(ゴール)
- まずは “Hello GitHub!” から(PowerShellでこける)
- Node.jsでHello成功
-
git init
→ Author unknown - main と master 問題
- リモート登録ミス(コロン/スラッシュ)
- Permission denied (publickey) 地獄
- 日本語ユーザー名で
.ssh
が作れない - HOMEを
C:\GitHome
にして権限fix - core.sshCommand で統一
- 初回pushで fetch first
- VS Code GUIが反応しない
- 新規テストリポで完全成功
- 記事リポで再び fetch first → rebase解決
- 一度きりの儀式/日常運用まとめ
- トラブル早見表
1. はじめに
今回のゴールはただ一つ。
👉 ローカルで作ったファイルをGitHubにpushできるようになる!
2. まずは “Hello GitHub!” から(PowerShell爆死)
console.log("Hello GitHub!");
→ PowerShell は console.log
を「コマンド」として探すので CommandNotFoundException
3. Node.jsでHello成功
node -v # v22.18.0
node # REPL
> console.log("Hello GitHub!");
Hello GitHub!
> .exit
# ファイルで実行
Set-Content index.js 'console.log("Hello GitHub!");'
node index.js
# → Hello GitHub!
4. git init
→ Author unknown
git init
git add index.js
git commit -m "Add first JavaScript file"
# → Author identity unknown
解決:
git config --global user.name "(GitHubのユーザー名)"
git config --global user.email "(GitHubの登録メールアドレスかnoreplyアドレス)"
5. main と master 問題
git branch -M main
git push -u origin main
(GitHubがmain
推奨という情報から統一)
6. リモート登録ミス(コロン/スラッシュ)
誤り:
git remote add origin git@github.com/GitHubのユーザー名/SSHリポジトリ.git # ❌
正解:
git remote add origin git@github.com:GitHubのユーザー名/SSHリポジトリ.git # ✅
いや、これに約1時間睡眠減らして費やしたわたしの哀れさ、、、w
7. Permission denied (publickey)
- 公開鍵未登録
- エージェント未登録
- 日本語ユーザー名パス問題
ssh -T git@github.com
で弾かれた。
8. 日本語ユーザー名で .ssh
が作れない
典型エラー:
Could not create directory 'C:\Users\漢字四字\.ssh'
UNPROTECTED PRIVATE KEY FILE!
9. HOMEを C:\GitHome
にして権限fix
mkdir C:\GitHome\.ssh -Force
[System.Environment]::SetEnvironmentVariable("HOME","C:\GitHome","User")
# 再起動後
echo $env:HOME # → C:\GitHome
権限fix:
icacls C:\GitHome\.ssh\id_rsa /inheritance:r
icacls C:\GitHome\.ssh\id_rsa /grant "$env:USERNAME:F"
初見殺しすぎやすよ、、これで安定の1時間♪(泣)
10. core.sshCommand で統一
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
さすがにChatGPT先生に聞きました(笑)
Windows には 標準で OpenSSH が入っています(C:/Windows/System32/OpenSSH/ssh.exe)。
一方で、Git for Windows にも 独自の ssh.exe が同梱されています(C:/Program Files/Git/usr/bin/ssh.exe など)。
どちらを使うかは環境によってバラバラで、鍵の読み込み方や権限の扱いが微妙に違うため、トラブルになりがちです。
特に今回のように
・日本語ユーザー名のパスで .ssh が作れない
・権限が厳しすぎる / 緩すぎるでエラー
・ssh-agent に登録したのに Git からは認識されない
といった「動いたり動かなかったり」問題が起きやすいです。
このコマンドは、Git の設定ですべての Git の SSH 通信(git push, git pull, git fetch など)に使う ssh コマンドをWindows 標準の OpenSSH に固定するという指定です。
なる。。ほど(わかるかーーーいい)
11. 初回pushで fetch first
git push -u origin main
# ! [rejected] main -> main (fetch first)
解決:
git pull --rebase origin main
git push -u origin main
これは、GitHubで入れといたほうがいいと誰かにきいて入れた「README.md」さんが、ローカルのブランチとGitHubのブランチで既にコミットしとるがな、履歴整理しろや!ってことと認識しました (- -;
12. VS Code GUIが反応しない
GUIでcommit/pushが固まる → ターミナルコマンドで動かす(正規)
git status
git add .
git commit -m "fix: update"
git push
コマンドでやる前に、眠くて即再起動しましたが、やめたほうがいいですね..w
13. 新規テストリポで完全成功
mkdir C:\Users\漢字四字\projects\myappsetTest
cd C:\Users\漢字四字\projects\myappsetTest
git init
git branch -M main
Set-Content README.md "# myappsetTest"
git add README.md
git commit -m "chore: initial commit"
git remote add origin git@github.com:<GitHubユーザー名>/myappsetTest.git
git push -u origin main
ガッツポーズで喜びましたよほんと、、
14. 記事リポで再び fetch first → rebase解決
git add Beginner_Starting-GitHub.md
git commit -m "No.3 qiita-content"
git push -u origin main
# → fetch first
git pull --rebase origin main
git push -u origin main
15. 一度きりの儀式/日常運用まとめ
一度きり:
git config --global user.name "GitHubユーザー名"
git config --global user.email "GitHubメールアドレス"
[System.Environment]::SetEnvironmentVariable("HOME","C:\GitHome","User")
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
日常運用:
git pull --rebase
git add .
git commit -m "feat: ..."
git push
16. トラブル早見表
症状 | 原因 | 解決 |
---|---|---|
src refspec main does not match any | コミットなし/ブランチ違い |
git branch -M main +1コミット |
origin does not appear to be… | リモート未設定/URL誤り | git remote add origin git@github.com:... |
Permission denied (publickey) | 鍵未登録/権限不備 |
ssh-add /HOME 変更 |
UNPROTECTED PRIVATE KEY FILE! | 鍵権限が緩い |
icacls で修正 |
fetch first でpush拒否 | リモートに先コミット | git pull --rebase origin main |
おわりに
日本語ユーザー名でも、C:\GitHome
+権限fixでなんとか運用できました。
最初はエラーだらけでも、一度このフルコースを経験すれば長期記憶への第一歩あとはやるのみです!
この記事が、明日の誰かの「最初のpush」の背中を押すものになれば幸いです。
はやく、ターミナル使いこなしてAIとコーディングしたいですね!
とりあえず、日本語漢字名フルはやめとけってことですね T x T