0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ひよこエンジニアの成長への第一歩:GitHub時点でこけてみる

Posted at

【実録・初心者向け】Windows日本語ユーザー名でGitHubに初pushするまで全部(詰まり・解決・学びを時系列で)


この記事は、自分が VS Code × Git × GitHub を初めてインストールからプッシュまで行った際の、
成功と失敗を包み隠さず 時系列でまとめた記録です。

同じところで詰まった人が、この記事だけで抜けられるように、コマンドも全部載せました。


  • OS: Windows11(ユーザー名が 漢字4文字 + 半角スペース入り)
  • シェル: PowerShell(管理者権限)
  • エディタ: VS Code
  • Git: Git for Windows
  • Node: v22.18.0(動作確認用)
  • GitHub: SSH接続(公開鍵登録済み)

目次

  1. はじめに(ゴール)
  2. まずは “Hello GitHub!” から(PowerShellでこける)
  3. Node.jsでHello成功
  4. git init → Author unknown
  5. main と master 問題
  6. リモート登録ミス(コロン/スラッシュ)
  7. Permission denied (publickey) 地獄
  8. 日本語ユーザー名で .ssh が作れない
  9. HOMEを C:\GitHome にして権限fix
  10. core.sshCommand で統一
  11. 初回pushで fetch first
  12. VS Code GUIが反応しない
  13. 新規テストリポで完全成功
  14. 記事リポで再び fetch first → rebase解決
  15. 一度きりの儀式/日常運用まとめ
  16. トラブル早見表

1. はじめに

今回のゴールはただ一つ。

👉 ローカルで作ったファイルをGitHubにpushできるようになる!


2. まずは “Hello GitHub!” から(PowerShell爆死)

console.log("Hello GitHub!");

→ PowerShell は console.log を「コマンド」として探すので CommandNotFoundException

1-consolelog.jpg


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!

2-consolelog.jpg


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-addHOME変更
UNPROTECTED PRIVATE KEY FILE! 鍵権限が緩い icaclsで修正
fetch first でpush拒否 リモートに先コミット git pull --rebase origin main

おわりに

日本語ユーザー名でも、C:\GitHome+権限fixでなんとか運用できました。
最初はエラーだらけでも、一度このフルコースを経験すれば長期記憶への第一歩あとはやるのみです!

この記事が、明日の誰かの「最初のpush」の背中を押すものになれば幸いです。

はやく、ターミナル使いこなしてAIとコーディングしたいですね!

とりあえず、日本語漢字名フルはやめとけってことですね T x T

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?