はじめに
GitやGitHubを使い始めたばかりの頃は、手順を見様見真似で構築して動かせたとしても、「なぜそうするのか」「どこで何が起きているのか」がぼんやりしがちです。
一度動く環境を作ってしまうと、そのまま使い続けてしまい、いざトラブルが起きたときに自力で復旧できないこともあります。
この記事では、あえてGitとGitHub(+gh CLI)の環境を一度リセットし、初心者がゼロから構築の流れをおさらいするための手順をまとめました。
Windows環境を対象に、安全に環境を整理しながら「仕組みと流れ」を理解し直すことが目的です。
以下C:\Users\UserName\projects
に各プロジェクトが入っているという前提で記事を書いています。
Git & gh リセット案(安全順)
0) 先にフルバックアップ(推奨)
%PROJECTS% = C:\Users\UserName\projects
を別ドライブへコピー- 特に
models/
など重い資産は除外OK(Git対象でなければ)
1) GitHub 側を整理(手動)
1-1. 対象リポの削除
GitHub リポページ → Settings → Danger Zone → Delete this repository
→ リポ名をタイプして確定

1-2. トークン・鍵・連携の棚卸し
- Settings → Developer settings
- Tokens(Fine-grained / Classic): 不要なPAT削除
- Settings → SSH and GPG keys: 使わない鍵は削除
- Applications → Authorized OAuth Apps / GitHub Apps: 不要ならRevoke
これでサーバ側の認証経路がクリーンになります。
2) Windows の資格情報をリセット
- 資格情報マネージャー 起動
- 「Windows 資格情報」→
git:https://github.com
など GitHub関連を削除 - 「汎用資格情報」側の
github
/git:
もあれば削除
次回 HTTPS で
push/fetch
すると再認証になります。
3) ローカルの .git
を一括削除(履歴だけ消す)
バッチ(確認つき・安全設計)
ファイル名:wipe_git_repos.bat
@echo off
setlocal
set "ROOT=C:\Users\UserName\projects"
echo [DRY-RUN] 以下の .git フォルダを削除対象として列挙します:
for /d /r "%ROOT%" %%G in (.git) do echo %%G
echo.
set /p OK=本当に削除しますか?(yes/NO):
if /i not "%OK%"=="yes" (
echo 中止しました。
exit /b 0
)
for /d /r "%ROOT%" %%G in (.git) do (
echo 削除中: %%G
rmdir /s /q "%%G"
)
echo 完了。各フォルダは「非Git状態」になりました。
動作確認(任意)
対象フォルダで:
git rev-parse --is-inside-work-tree
→ エラーなら履歴消去OK
4) Git / GitHub Desktop / gh のアンインストール(任意)
- Git(同時に Git LFS / Git Credential Manager が別項目の場合あり)
- GitHub Desktop
- GitHub CLI (gh)(入れていれば)
- 必要に応じて残骸整理:
%USERPROFILE%\.gitconfig
(グローバル設定)%USERPROFILE%\.git-credentials
(使っていれば)%USERPROFILE%\.ssh\
(SSH鍵を作り直すならバックアップ後に整理)
完全ゼロスタートにしたい時のみ。
そのままでも次のステップに進めます。
それぞれ役割と注意点があるので一応整理しておきます
1. %USERPROFILE%\.gitconfig
- 役割:Git のグローバル設定(ユーザー名・メール・エイリアス・エディタなど)を記録。
- 削除すると:
- 名前やメールアドレスなど、
git config --global
で設定した情報が消える。 - 再度
git config --global user.name
やuser.email
を設定し直す必要あり。
- 名前やメールアドレスなど、
- 削除OK? → OK(環境をまっさらにしたいなら消して再設定)
2. %USERPROFILE%\.git-credentials
- 役割:保存された Git 認証情報(https 用のユーザー名とパーソナルアクセストークン)を平文で持ってる場合あり。
- 削除すると:
- https 接続時に毎回再認証が必要になる(キャッシュは消える)。
- 削除OK? → OK(むしろリセットなら安全のため消すの推奨)
3. %USERPROFILE%\.ssh\
- 役割:GitHub や他サーバーにアクセスするための SSH 鍵ペア(
id_rsa
,id_ed25519
など)とknown_hosts
が入ってる。 - 削除すると:
- 既存の鍵での接続は全滅。
- 新しい鍵を
ssh-keygen
で作って、GitHub などに登録し直す必要あり。
- 削除OK? → OK(ただし、再利用したい鍵があれば別フォルダにバックアップしてから)
🔹 まとめると
- 本当に「完全リセット」したい → 3つとも削除してOK(鍵は必要ならバックアップ)
- SSH 接続をまた使う予定なら、鍵の再作成手順も合わせて準備しておくとスムーズです。
これ全部削除すると、次回の git clone
や git push
の時に
「名前もメールも鍵も何もない状態」から再構築できるので、まさに新品同様のGit環境になります。
再セットアップ手順(最短で“理解”を固める)
5) インストール & グローバル設定
Git 再インストール(Git Credential Manager=有効で入れる)
(任意)GitHub Desktop / gh CLI を入れる
Git のユーザー設定:
<div class="copycmd">
<div class="copycmd__top">
<div class="copycmd__label">確認 · user.name · bash</div>
<button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
</div>
<pre class="copycmd__code" data-copycmd-code>git config --global user.name</pre>
</div>
<div class="copycmd">
<div class="copycmd__top">
<div class="copycmd__label">確認 · user.email · bash</div>
<button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
</div>
<pre class="copycmd__code" data-copycmd-code>git config --global user.email</pre>
</div>
<div class="copycmd">
<div class="copycmd__top">
<div class="copycmd__label">新規リポジトリのデフォルトブランチをmainに · bash</div>
<button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
</div>
<pre class="copycmd__code" data-copycmd-code>git config --global init.defaultBranch main</pre>
</div>
6) 認証方式を決める(どちらか)
A. HTTPS(手早い)
- GitHubで PAT 発行
- Classic:
repo
(Private扱うなら必須) - Fine-grained: 対象リポで Contents: Read and write
- Classic:
- 初回
git push
時にユーザー名とPATを入力(保存可)
B. SSH(以後ノーパス運用)
- 鍵作成:
ssh-keygen -t ed25519 -C "あなたのGitHubメール"
- エージェント登録:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519
- 公開鍵
~/.ssh/id_ed25519.pub
を GitHub → SSH and GPG keys に追加 - 接続確認:
ssh -T git@github.com
→Hi fglabz!
が出ればOK
7) “学び直し”の練習(1プロジェクトで往復確認)
7-1. 新規 or 既存フォルダを1つ選択
例:C:\Users\ken1r\projects\1107_github_startup
cd C:\Users\ken1r\projects\1107_github_startup
git init
echo # 1107_github_startup > README.md
git add .
git commit -m "first commit"
git branch -M main
7-2. GitHubに空リポ作成 → リモート登録
- HTTPS運用:
git remote add origin https://github.com/fglabz/1107_github_startup.git git push -u origin main
(初回にユーザー名/PATを入力 → 保存) - SSH運用:
git remote add origin git@github.com:fglabz/1107_github_startup.git git push -u origin main
7-3. 更新の基本3手順
git add .
git commit -m "更新内容"
git push
付録:テンプレ & 事故防止
A) .gitignore
(各リポに置く)
# OS / IDE
.DS_Store
Thumbs.db
.vscode/
.idea/
# Python
__pycache__/
*.py[cod]
.venv/
.env
.env.*
# Node
node_modules/
dist/
build/
# Office / 一時
~$*.xls*
~$*.doc*
~$*.ppt*
# その他一時
*.tmp
*.temp
# 出力物(必要に応じて調整)
*.zip
*.7z
*.tar
B) .gitattributes
(LFS使うとき)
*.stl filter=lfs diff=lfs merge=lfs -text
*.3mf filter=lfs diff=lfs merge=lfs -text
*.step filter=lfs diff=lfs merge=lfs -text
*.stp filter=lfs diff=lfs merge=lfs -text
*.dxf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
初回だけ
git lfs install
→ 追加・コミット
C) “origin 一発作成”BAT(HTTPS版)
ファイル名:init_and_push.bat
@echo off
setlocal
for %%I in (.) do set "DIRNAME=%%~nxI"
if not exist README.md (
echo # %DIRNAME%>README.md
)
git init
git add -A
git commit -m "first commit"
git branch -M main
git remote get-url origin >nul 2>&1 || git remote add origin "https://github.com/fglabz/%DIRNAME%.git"
git push -u origin main
先にGitHubで空リポを作る or
gh repo create
を使えば自動作成も可。
まとめ(実行順の目安)
- GitHub手動削除(リポ / トークン / SSH鍵)
- Windows資格情報を削除
.git
一括削除(上のBATで)- (任意)Git/ghアンインストール
- Git再インストール → 認証方式決定(HTTPS or SSH)
- 1プロジェクトで init→add→commit→remote→push を通して理解を固定
- 他プロジェクトも順に同じ流れで再登録
必要なら、この内容をあなたの運用に最適化した「手順書.md」(ファイル名提案:git_reset_and_bootstrap_20250814.md
)にして渡します。言ってくれればすぐ出します。
おわりに
GitやGitHubの環境を一度リセットして再構築することで、ツールの挙動や接続の流れを改めて理解でき、今後のトラブル対応力や構築スピードが格段に向上します。
特に学び直しやプロジェクト管理の整理を目的とする場合、今回の手順を実践することで「何がどこでどう動いているか」を明確に把握できるようになります。
一度ゼロに戻す勇気は必要ですが、それは未来の自分のための最強の投資になるはずです。