チャプター ▾ 第2版

A2.1 付録B: アプリケーションにGitを組み込む - コマンドラインGit

アプリケーションが開発者向けの場合、バージョン管理との統合から恩恵を受ける可能性が高いです。ドキュメントエディターなどの非開発者向けアプリケーションでも、バージョン管理機能から恩恵を受ける可能性があり、Gitのモデルはさまざまなシナリオに非常によく適合します。

Gitをアプリケーションに統合する必要がある場合、基本的には2つの選択肢があります。シェルを起動してgitコマンドラインプログラムを呼び出すか、Gitライブラリをアプリケーションに組み込むかです。ここでは、コマンドライン統合と、最も人気のある組み込み可能なGitライブラリのいくつかについて説明します。

コマンドラインGit

1つの選択肢は、シェルプロセスを起動し、Gitコマンドラインツールを使用して作業を行うことです。これは規範的であるという利点があり、Gitのすべての機能がサポートされています。また、ほとんどのランタイム環境には、コマンドライン引数でプロセスを呼び出すための比較的簡単な機能があるため、これはかなり簡単です。しかし、このアプローチにはいくつかの欠点があります。

1つは、すべての出力がプレーンテキストであることです。これは、進行状況と結果情報を読み取るために、Gitの時々変更される出力形式を解析する必要があることを意味し、非効率的でエラーが発生しやすくなります。

もう1つは、エラー回復の欠如です。リポジトリが何らかの形で破損したり、ユーザーが不正な設定値を持っていたりすると、Gitは単に多くの操作を実行を拒否します。

さらに別の欠点はプロセス管理です。Gitは別のプロセスでシェル環境を維持する必要があり、不要な複雑さを追加する可能性があります。これらの多くのプロセス(特に、複数のプロセスから同じリポジトリにアクセスする可能性がある場合)を調整しようとすると、かなりの課題になる可能性があります。

scroll-to-top