GitとGitHubを完全リセットしてゼロから学び直す方法(Windows版)

目次

はじめに

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 の資格情報をリセット

  1. 資格情報マネージャー 起動
  2. 「Windows 資格情報」→ git:https://github.com など GitHub関連を削除
  3. 汎用資格情報」側の 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.nameuser.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 clonegit push の時に
「名前もメールも鍵も何もない状態」から再構築できるので、まさに新品同様のGit環境になります。


再セットアップ手順(最短で“理解”を固める)

5) インストール & グローバル設定

Git 再インストール(Git Credential Manager=有効で入れる)

FGLabz テックノート
WindowsでのGitインストール手順まとめ【初心者向け】 | FGLabz テックノート はじめに ソースコードの管理やチーム開発に欠かせないツールが「Git」です。バージョン管理を行うことで、ファイルの変更履歴を追跡したり、複数人で効率的に開発を進める...

(任意)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
  • 初回 git push 時にユーザー名とPATを入力(保存可)

B. SSH(以後ノーパス運用)

  1. 鍵作成: ssh-keygen -t ed25519 -C "あなたのGitHubメール"
  2. エージェント登録: eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519
  3. 公開鍵 ~/.ssh/id_ed25519.pubGitHub → SSH and GPG keys に追加
  4. 接続確認: ssh -T git@github.comHi 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 を使えば自動作成も可。


まとめ(実行順の目安)

  1. GitHub手動削除(リポ / トークン / SSH鍵)
  2. Windows資格情報を削除
  3. .git一括削除(上のBATで)
  4. (任意)Git/ghアンインストール
  5. Git再インストール → 認証方式決定(HTTPS or SSH)
  6. 1プロジェクトで init→add→commit→remote→push を通して理解を固定
  7. 他プロジェクトも順に同じ流れで再登録

必要なら、この内容をあなたの運用に最適化した「手順書.md」(ファイル名提案:git_reset_and_bootstrap_20250814.md)にして渡します。言ってくれればすぐ出します。

おわりに

GitやGitHubの環境を一度リセットして再構築することで、ツールの挙動や接続の流れを改めて理解でき、今後のトラブル対応力や構築スピードが格段に向上します。
特に学び直しやプロジェクト管理の整理を目的とする場合、今回の手順を実践することで「何がどこでどう動いているか」を明確に把握できるようになります。
一度ゼロに戻す勇気は必要ですが、それは未来の自分のための最強の投資になるはずです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次