Mac→Windows移行前にGitリポジトリを大掃除した話【未プッシュ確認&不要削除】
開発環境をiMacからWindowsに移行することになりました。単純にリポジトリをcloneし直せばいいかと思っていたのですが、ふと気づいたことが。
「そもそも、どのリポジトリに未プッシュの作業があるんだっけ?」
GitHubを見返すと、学習用やテスト用で作ったまま放置しているリポジトリがずらり。これを機に、しっかりと整理してからWindows環境を構築することにしました。
なぜ移行前の整理が重要なのか
環境移行は、リポジトリを見直す絶好のチャンス。以下の理由で整理をおすすめします。
- 作業漏れ防止: 未プッシュのコミットや作業中ファイルの取りこぼし回避
- 効率的な移行: 必要なリポジトリだけを新環境にクローン
- 管理負担軽減: 使わないリポジトリの削除でメンテナンス工数削減
- セキュリティ向上: 古いリポジトリに潜む脆弱性リスクの排除
Phase 1: 未プッシュ作業の確認
各リポジトリで以下のコマンドを実行し、移行前に処理すべき作業がないかチェックしました。
基本的な確認コマンド
# 1. 現在の作業状態を確認
git status
# 2. リモートの最新情報を取得
git fetch
# 3. 未プッシュのコミットを確認
git log origin/main..HEAD
# 4. stash済みの作業を確認
git stash list
# 5. ブランチの同期状態を確認
git branch -vv
実際の確認例
ケース1: クリーンな状態のリポジトリ
nakayamamasayuki@nakayamamasayukinoiMac asao-green % git status
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
nakayamamasayuki@nakayamamasayukinoiMac asao-green % git log origin/main..HEAD
# (何も表示されない = 未プッシュのコミットなし)
nakayamamasayuki@nakayamamasayukinoiMac asao-green % git stash list
# (何も表示されない = stashなし)
nakayamamasayuki@nakayamamasayukinoiMac asao-green % git branch -vv
* main c7c67ef [origin/main] post 2506
判定結果: 完全にクリーン。Windows側でcloneするだけでOK。