Git
読了 7分
Gitに秘密鍵をコミットしたとき — キーのローテーションとfilter-repoでの履歴整理
AWSキー、APIトークン、.envファイルをコミットしてpushまでしてしまった事故の対応手順を整理します。最優先は履歴の整理ではなくキーの無効化です。filter-repoで履歴を書き換える手順と予防の仕組みまで扱います。
読了 5分
Git detached HEADから抜け出す — 原因とコミットの復旧
You are in detached HEAD stateという警告の意味を構造から説明し、状況別の抜け出し方を整理します。この状態で作ったコミットを失わずにブランチへ保存する方法まで扱います。
読了 6分
削除したGitコミットとブランチをreflogで復旧する
git reset --hardで消したコミットと-Dで削除したブランチをreflogで復旧する手順を整理します。reflogが記録するものとしないもの、復旧できないケースまで区別します。
読了 9分
Git実務ワークフロー #7 モノレポとGit — sparse-checkout・サブモジュール・LFS
リポジトリが大きくなるとGitが遅くなる理由を押さえ、partial clone、sparse-checkout、サブモジュール、Git LFSをいつ使うのかを整理します。Git実務ワークフローシリーズの最終回です。
読了 7分
Git実務ワークフロー #6 stash・cherry-pick・bisect — 日常ツールセット
急な切り替えを受け止めるstash、特定コミットだけを別ブランチに移すcherry-pick、バグ混入コミットを二分探索で特定するbisectまで。必要な瞬間にないと困る3つのツールを整理します。
読了 8分
Git実務ワークフロー #3 interactive rebase — squash・fixupでコミット整理
PRを開く前にコミットを読める単位に整理するinteractive rebaseを扱います。todoリストの6つのコマンド、fixupとautosquashのワークフロー、整理したブランチを安全に上げるforce-with-leaseまでまとめます。
読了 7分
Git基礎 #5 取り消し — restore・reset・revertの使い分け
編集の破棄、ステージング解除、コミットの修正、コミットの取り消し、プッシュ済みコミットの巻き戻しまで。状況別にrestore、reset、revertのどれを使うべきかを3つの領域モデルで整理します。