タグ: #version-control
GPU・LLM・MLOps・Kubernetes、そしてマインドセット · 18 件
.gitignoreが効かないとき — 原因1位とパターン規則の精読
無視リストにはっきり書いたのにファイルが上がり続ける理由は、たいてい1つです。すでに追跡中のファイルには無視の規則が適用されません。この記事では、インデックスから外す正確な命令と、その命令が同僚の作業ディレクトリからファイルを消してしまうという副作用、どの規則が犯人なのかをGitに直接尋ねるcheck-ignoreの使い方と、追跡中のファイルでは何も出力しないという罠、先頭のスラッシュと末尾のスラッシュと否定パターンの順序依存、上位ディ
2026-07-26 · 20 分で読めます #git#gitignore#troubleshooting#security#version-controlgitが遅くなったとき — 大規模リポジトリを速くする構造的な処方
リポジトリが遅くなる理由は1つではありません。コミット履歴が長いこと、ファイル数が多いこと、大きなバイナリが入っていることは別々の問題であり、処方も違います。この記事はまず原因を切り分ける測定命令から始め、浅いクローンと部分クローンがなぜ代替品ではなく用途の違う道具なのか、sparse-checkoutとファイル監視がstatusをどう縮めるのか、commit-graphがログとマージ基準点の計算をなぜあれほど大きく変えるのかを説明しま
2026-07-26 · 20 分で読めます #git#performance#monorepo#git-lfs#version-controlgit merge vs rebase — 何をいつ使うのか、なぜ共有ブランチはリベースしないのか
mergeとrebaseの違いは、図ではなくコミットハッシュで見るのが正確です。リベースはコミットを移動させる命令ではなく、親が変わった新しいコミットを作る命令であり、ハッシュが変わるというその一点だけが、共有ブランチをリベースしないという黄金律の唯一の根拠です。この記事では実際のコミットハッシュとreflogの出力でその変化を示し、マージコミットはノイズだという通念をfirst-parentのログで反論し、スカッシュマージがbisec
2026-07-26 · 18 分で読めます #git#rebase#merge#version-control#workflowGitの内部構造で理解する命令 — オブジェクト、リファレンス、インデックスで読み直すresetとrebase
Gitの命令を丸暗記すると毎回検索する羽目になりますが、データモデルを知っていれば命令の動作は推論できます。この記事ではblobとtreeとcommitとtagという4つのオブジェクト、同じ内容が常に同じハッシュを持つコンテンツアドレス指定、ブランチが41バイトのファイルにすぎないという事実、そしてインデックスが実際に何を収めているのかを、cat-fileとls-filesで直接開いて確かめます。このモデルを知っていれば、resetがな
2026-07-26 · 19 分で読めます #git#internals#git-objects#fundamentals#version-controlgitの巻き戻し — 状況別に選ぶrestore、reset、revert、reflog
巻き戻しの命令を丸暗記すると毎回検索する羽目になりますが、何を戻したいのかを先に分類すれば命令はおのずと決まります。ワーキングディレクトリ、ステージング、直前のコミットメッセージ、コミットそのもの、すでにプッシュしたコミット、削除したブランチという6つの状況に分け、それぞれの正確な命令と危険度を整理しました。resetのsoftとmixedとhardがHEAD、インデックス、ワーキングツリーのどれを動かすのかを表で示し、プッシュ済みの履
2026-07-26 · 19 分で読めます #git#undo#reset#reflog#version-controlgit history — Git が rebase の隣に置いた実験的な history 書き換えコマンド
Git 2.54(2026-04-20)で git history という新しいコマンドが実験的に追加され、2.55(2026-06-29)で fixup サブコマンドが加わりました。reword/split/fixup という3つのよくある history 書き換え作業を、インタラクティブ rebase なしにコマンド一発で処理し、対象コミットの子孫ブランチをまとめて原子的な ref トランザクションで更新します。メンテナーの Pat
2026-07-16 · 29 分で読めます #git#version-control#jujutsu#rebaseGitはデータをどう保存しているか
Gitを毎日使っていても、内部がどうなっているかは知らないことが多いものです。blob・tree・commit・tagからなるオブジェクトモデル、SHAハッシュで内容をアドレス化する仕組み、コミットDAG、ブランチはただのポインタだという事実、.gitディレクトリの実際の姿、同じ内容が一度だけ保存される理由、そしてパックファイルまで。Gitの本当のデータモデルを掘り下げます。
2026-06-13 · 25 分で読めます #git#version-control#fundamentalsGit Internals Deep Dive — Object Model、Packfile、Mergeアルゴリズム、Reflog、プロトコル完全解説 (2025)
毎日使うのに多くの開発者がブラックボックスとして扱うツール、Git。本稿はGitの内部を根本から解剖する。Content-addressableファイルシステムとしての本質、Blob/Tree/Commit/Tagオブジェクトモデル、SHA-1ハッシュチェーン、Loose ObjectとPackfile、Delta圧縮、Refsとpacked-refs、Index(ステージングエリア)、ortアルゴリズムへ置き換えられたMergeの内部
2026-04-15 · 21 分で読めます #git#version-control#object-model#packfile#mergeGitマスターガイド — 基礎からrebase、cherry-pick、bisect、worktreeまで
Gitの内部構造から高度なコマンド(rebase、cherry-pick、bisect、worktree)、ブランチ戦略、PRレビュー、モノレポ管理まで、Gitのすべてを徹底解説。
2026-04-12 · 20 分で読めます #devops#git#version-control#github#branchingGit内部動作の仕組み:Blob、Tree、Commit、そしてDAG — Gitが本当に動く方法
Gitの内部を完全解剖!Blob/Tree/Commitオブジェクトモデル、SHA-1ハッシュ、.gitディレクトリ構造、DAG(有向非巡回グラフ)、ブランチの実体(ポインタ)、merge vs rebase内部動作、reflog復旧、packファイル圧縮まで。
2026-03-24 · 38 分で読めます #git#internals#blob#tree#commitGit完全攻略:ジュニアからシニアまで、実務で即使えるGit上級ワークフロー
git rebase -i、cherry-pick、bisect、worktreeからtrunk-based development、conventional commits、GitHub Actions CI/CDまで — シニアエンジニアのようにGitを使いこなす完全ガイド。実務シナリオ20個付き。
2026-03-22 · 30 分で読めます #git#github#version-control#workflow#branchingGitツールの使い方
Gitツールの基本的な使い方について学びます。
2024-07-20 · 7 分で読めます #git#tools#version-controlGitブランチの使い方
Gitにおけるブランチの基本的な使い方について学びます。
2024-07-20 · 5 分で読めます #git#branching#version-controlGitのカスタマイズ
Gitをカスタマイズする方法について学びます。
2024-07-20 · 6 分で読めます #git#customization#version-control分散Gitの使い方
分散Gitの基本的な使い方について学びます。
2024-07-20 · 6 分で読めます #git#distributed#version-controlGitと他のシステムの統合
Gitと他のバージョン管理システムを統合する方法について学びます。
2024-07-20 · 6 分で読めます #git#integration#version-controlGitサーバーの設定と管理
Gitをサーバーで設定・管理する方法について学びます。
2024-07-20 · 4 分で読めます #git#server#version-controlGitの基本的な使い方
Gitの基本的な使い方について学びます。
2024-07-20 · 6 分で読めます #git#version-control