Git をコード以外で活用するユースケース
大学生のレポートから企業の設計書まで、プログラミング以外で Git が役立つ場面を具体例で紹介
Git はプログラマーだけのものではない
Git は「プログラマーが使うもの」というイメージがありますが、実際にはテキストベースのファイルを扱う人なら誰でも恩恵を受けられます。
バイナリファイル(画像や Excel など)も管理自体は可能ですが、Git の強みである行単位の差分比較やマージはテキストファイルで真価を発揮します。
以下、具体的な「誰が・何に使えるか」を紹介します。
大学生・研究者 — レポート・論文の変更管理
「レポート_最終版.docx」「レポート_最終版_修正2.docx」のようなファイル名管理から卒業できます。
- 卒業論文・修士論文・学術論文 — 指導教員や共著者のフィードバックを反映するたびにコミット。過去の版にいつでも戻せる
- LaTeX / Markdown — テキスト形式なら差分比較も可能。「どこを直したか」が一目瞭然
- 共同研究・グループワーク — ブランチを使って分担執筆し、最後にマージ
GitHub のプライベートリポジトリを使えば、PC の故障でデータが消えるリスクもなくなります。
ライター・編集者 — 原稿・記事の管理
原稿の修正履歴を正確に残したい場面は多くあります。
- 技術記事・ブログ — Markdown で執筆し、修正のたびにコミット。公開後の修正履歴も追跡可能
- 書籍の原稿 — 章ごとにファイルを分けてブランチで管理。編集者とのやりとりも Pull Request で
- 翻訳 — 原文と訳文を同じリポジトリで管理し、原文の変更箇所を差分で確認
「いつ・誰が・なぜ修正したか」が記録されるので、複数人での編集作業でも混乱が起きにくくなります。
デザイナー — 設定ファイル・デザイントークンの管理
画像ファイルそのものは Git の差分比較が効きませんが、デザイン周辺にはテキストファイルも多くあります。
- デザイントークン(JSON / YAML) — カラー・フォント・スペーシングの定義をバージョン管理
- Figma / Sketch のエクスポート設定 — 設定ファイルの変更履歴を残す
- SVG ファイル — テキストベースなので差分比較が可能
エンジニアとの連携でも「この色いつ変わった?」が git log で即座に追跡できます。
インフラエンジニア — 構成管理と自動化
Infrastructure as Code(IaC)の普及により、インフラ管理と Git は切り離せない関係になっています。
- Terraform / AWS CDK / CloudFormation — インフラ定義ファイルの変更履歴を管理
- Ansible / Chef — サーバー構成の自動化スクリプト
- Docker / docker-compose — コンテナ定義
- GitHub Actions / GitLab CI — CI/CD パイプラインの定義
障害発生時に「いつ・誰が・何を変更したか」を即座に追跡でき、原因特定が格段に速くなります。
データアナリスト — 分析の再現性確保
分析結果の信頼性には「再現性」が不可欠です。
- SQL クエリ — 集計ロジックの変更履歴を管理。「先月と数字が違う」の原因がすぐわかる
- Python / R スクリプト — 分析コードをバージョン管理し、過去の分析を再実行可能に
- 設定ファイル — 実験条件やパラメータを記録
大容量のデータファイルは Git LFS を使うか、ストレージは別管理にしてスクリプトと設定だけを Git で管理するのが一般的です。
企業の管理部門 — 規程・マニュアルの変更管理
社内規程や業務マニュアルの管理にも Git は有効です。
- 社内規程・就業規則 — 改定履歴を正確に記録。「いつから変わったか」が明確
- 業務マニュアル・手順書 — 複数部署の担当者がブランチで改訂し、レビュー後にマージ
- FAQ・ナレッジベース — Markdown で管理すれば検索性も高い
Word ファイルでの管理と違い、「誰が・いつ・どの行を変えたか」が行単位で記録されるため、監査対応にも有利です。
バイナリファイルの扱いに注意
Git はテキストファイルに最適化されているため、バイナリファイルの管理には注意が必要です。
- 差分が見られない — Word / Excel / 画像は
git diffで中身を比較できない - リポジトリが肥大化する — バイナリは差分圧縮が効きにくく、サイズが膨らみやすい
- マージできない — テキストのようなコンフリクト解消ができず、どちらかを選ぶしかない
バイナリファイルを含める場合は Git LFS を導入するか、.gitignore で除外して専用ストレージで管理することを検討してください。
Git Ready