Movatterモバイル変換


[0]ホーム

URL:


▼サーバー運営を助ける支援をお願いします
▼サーバー運営を助ける支援をお願いします
毎月825円(税込)
900円(うち手数料33円)

親愛なる読者の皆さまへ。ご存じの通り価格高騰などの悪影響でサーバー運営がとても苦しい状態です。回線や台数を整理し見直せる部分は全て見直しましたが、やはりまだ危険水域です。このままだと1ページを10分割ぐらいして無理矢理PVを増やさざるを得なくなってしまいます。そこで、GIGAZINEの物理的なサーバーたちを、たった1円でも良いので親愛なる読者の皆さまに支援してもらえればとっても助かります!今すぐ寄付は上のボタンから!

これまでGIGAZINEを支援してくれたメンバーのリスト

GIGAZINE ホーム
login
GIGAZINEにログイン
メンバー登録はココをクリック


-パスワードの再発行

ソフトウェア

SQLiteがバージョン管理システムとしてGitを採用しない理由


GitはLinuxカーネルのソースコード管理に用いるために開発された分散型バージョン管理システムで、GitリポジトリをホスティングするGitHubのユーザー数は1億人を超えます。一方、軽量データベースのSQLiteの開発においてはGitではなくFossilというバージョン管理システムが利用されており、SQLiteの開発陣が「なぜGitを使用しないのか」という理由を公式サイトで説明しています。

Why SQLite Does Not Use Git
https://sqlite.org/whynotgit.html


なお、Fossilがどんな機能をもつバージョン管理システムなのかについては下記の記事を読むと分かります。

GitとGitHubの機能をひとつのバイナリに詰め込んだ「Fossil」レビュー - GIGAZINE


1:Gitは適切な状況認識を提供しない
SQLiteにどんな変更が加えられたのかを確認したい場合、タイムライン画面を見れば全てのブランチに関する変更の概要が表示され、必要に応じて好きなだけ詳細を開く事ができます。外出中にスマートフォンから確認する事も可能です。


一方GitHubやGitLabには同等の機能が存在しません。最も近いと言えるのはネットワークグラフですが、レンダリングが遅い上に詳細を確認できないという欠点があります。コミットビューではより詳細な情報が提供されるものの一度に1つのブランチしか表示できないため最近の変更を全て確認するには手間がかかります。


Gitのユーザーの中にはサードパーティー製のグラフィカルビューワーを導入して最近の変更点を表示させている人もいますが、サードパーティー製ということで個別にインストールして管理する必要があり、またローカルリポジトリを同期する必要があることからスマートフォンで簡単にプロジェクトの状況を確認することができません。

2:チェックインの後継者を見つけるのが困難
Gitを使用している場合、特定のコミットよりも前に何が起こったのかをさかのぼることは簡単ですが、逆に特定のコミットからどのようにコードが変更されていったのかを確認するのは一筋縄ではいきません。Fossilには特定のメジャーリリースから派生した全てのチェックインを表示する機能があり、ウェブ上で簡単に分岐の状況を確認可能です。


さらにFossilのチェックイン情報ページには「Context」という項目があり、前後のチェックイン情報が時系列で表示されるため、ユーザーが簡単に状況を認識できるようになっています。


3:Gitは複雑すぎる
Gitを使用して開発を行う場合、下記の全ての項目に注意を払う必要があります。

・作業ディレクトリ
・ステージング領域(index)
・ローカルhead
・リモートheadのローカルコピー
・本当のリモートhead


一方Fossilでは作業ディレクトリおよび作業中のチェックインについてのみ考えるだけですみ、開発者の脳のリソースをソフトウェアの開発作業により多く使用することが可能です。

4:Gitは過去のブランチ名を追跡しない
Gitはコミット履歴の完全な有向非巡回グラフ(DAG)を保持していますが、ブランチタグはローカル情報であり、ブランチが閉じた後は同期されなくなります。そのため過去のブランチのレビューが面倒になる場合があります。

例えば顧客に過去の「prefer-coroutine-sort-subquery」ブランチがどうなったのかを聞かれ、バージョン管理システムの履歴を調べて答える場合を考えてみます。

Gitの場合、2017年9月30日に最後のコミットがあったことを確認できますが、その後どうなったのかは表示されず、何が起きたのかを理解する際にはほとんど役に立ちません。


Fossilでは2017年9月30日のコミットの後、Gitでいうmainにあたる「trunk」ブランチにマージされていることが一目瞭然です。


サードパーティー製のツールを利用することでこうした情報を表示することが可能な場合もありますが、必要な情報を取得するのにサードパーティー製のツールを使用する必要があるという事実はコアシステムにとってあまり良くないとのこと。

5:Gitは管理の手間がかかる
Gitは複雑なソフトウェアであり、Gitをワークステーションに配置したり新しいバージョンにアップグレードしたりする際にはインストーラーが必要です。また、Gitサーバーの立ち上げは簡単ではないため多くの開発者がGitHubやGitLabなどのサードパーティー製のサービスを利用し、プロジェクトに依存関係を追加しています。

一方Fossilは単一のスタンドアロンバイナリで動作するため、インストールはPATHを通すだけでOK。一つのバイナリでGitの機能に加えてGitHubやGitLabの機能も含まれており、Wikiやバグ追跡、フォーラムなどを利用できます。数分でFossilのコミュニティサーバーを起動できるほか、GitLabなどのサーバーよりもスペックの低い環境で動作可能です。


管理の手間が少ないため、開発者がソフトウェアの開発作業により多くの時間を割けるようになります。

6:Gitはユーザー体験が悪い
Gitには非常に多くの機能があり、様々な状況に対応できるようになってはいるものの、実際のところそうした機能を使いこなせる開発者は一握りです。多くの開発者にとってGitが難しすぎることを誇張して表現した「Gitの使い方は数個のコマンドを暗記して打つだけ。エラーが出たら作業内容を別の場所に保存してプロジェクトをリセットする」という風刺マンガが存在しているように、使いにくさを感じている開発者は多いはずです。

ソフトウェアの開発は難しく、かなりの集中力が必要です。優れたバージョンシステムは開発者に不満を与えるのではなく支援を提供するものでなくてはいけません。Gitは登場以降改善され続いていますが、まだまだ道のりは長いとのこと。

なお、FossilとGitの詳細な比較についてはFossil Versus Gitのページで確認可能となっています。

この記事のタイトルとURLをコピーする

・関連記事
バージョン管理システム「Git」がどのように発展してきたのかを可視化した「Git: An Interactive Development History」 - GIGAZINE

Gitの操作を間違ってしまった時に簡単に元に戻せる「git undo」を使う方法 - GIGAZINE

混乱を引き起こしがちなGitの用語まとめ - GIGAZINE

私たちが何気なく使っているソフトウェアはどのように開発されているのか? - GIGAZINE

Metaの大規模ソースコード管理システム「Sapling」がオープンソース化 - GIGAZINE

・関連コンテンツ

inソフトウェア, Posted by log1d_ts

You can read the machine translated English articleWhy SQLite doesn't adopt Git as its ….

最新ニュース40件

記事検索
カテゴリ
有料メンバー
無料メンバー
教育
AI
動画
メモ
ハードウェア
ソフトウェア
ネットサービス
サイエンス
スマホ
レビュー
試食
ゲーム
取材
ヘッドライン
アニメ
乗り物
セキュリティ
映画
生き物
デザイン
マンガ
創作
ウェブアプリ
ピックアップ
インタビュー
お知らせ
コラム
広告
過去の記事

人気記事ランキング

直近24時間(1時間ごとに更新。5分ごとはこちら

  1. Appleギフトカードを利用したら約25年使っていたAppleアカウントが凍結されて写真やデバイスへアクセス不能に
  2. SpaceXがアメリカで40ドルのStarlinkプランをひっそりと廃止
  3. 既存の2D半導体から大幅な性能向上が期待できる「3Dチップ」の製造に成功
  4. わずか13cmのディスクに360TBのデータを138億年保存できるガラスストレージ技術「5次元メモリクリスタル」が実現間近
  5. 古代中国のネコは現代のイエネコとはまったく違う種であったことがDNA分析で判明
  6. 世界中の27億5000万軒の建物3Dデータを網羅したデータセット「GlobalBuildingAtlas」と3D地図が公開される
  7. 複数台のMacを連結してAIクラスターを作れる機能が「macOS Tahoe 26.2」で追加される
  8. Claude Code CLIがMacのホームディレクトリを丸ごと削除してしまった事例
  9. 2025年12月15日のヘッドラインニュース
  10. ついにルンバのiRobotが破産申請、中国の主要サプライヤーに経営権移譲の再編支援契約を締結へ

お邪魔して申し訳ないです。読者のための記事を掲載し続けるため、どうかサーバー代として300円をご寄付いただけないでしょうか。

喜んでメールでリマインドさせていただきます。 引き続き記事をお読みください。


[8]ページ先頭

©2009-2025 Movatter.jp