SYNOPSIS

. "$(git --exec-path)/git-sh-setup"

DESCRIPTION

これは、エンドユーザーが実行するコマンドではありません。この文書は、磁器風のスクリプトを研究している、および/または 新しいスクリプトを書いている人々を対象としています。

git sh-setup スクリプトレットは、他のシェルスクリプトから( . を使用して)実行(source)され、通常のGitディレクトリと、いくつかのヘルパーシェル関数を指す、いくつかの環境変数を設定するように設計されています。

実行(source)前に、スクリプトでいくつかの環境変数を設定する必要があります。USAGE (および存在する場合は LONG_USAGE )は、 usage() シェル関数によって与えられるメッセージを定義するために使用されます。スクリプトが作業ツリーのサブディレクトリから実行できる場合は、 SUBDIRECTORY_OK を設定できます(一部のコマンドは実行できません)。

スクリプトレットは GIT_DIRGIT_OBJECT_DIRECTORY シェル変数を設定しますが、それらを環境にエクスポートしません。

FUNCTIONS

die

提供されたエラーメッセージを標準エラーストリームに出力した後に終了します。

usage

使用法メッセージで die します。

set_reflog_action

すでに設定されていない限り、 GIT_REFLOG_ACTION 環境変数を指定の文字列(通常はプログラムの名前)に設定します。スクリプトが、refを更新する git コマンドを実行するたびに、この文字列の値を使用してreflogエントリが作成され、どのコマンドがrefを更新したかの記録が残されます。

git_editor

特定のファイルに対してユーザーが選択したエディター(GIT_EDITOR または core.editor または VISUAL または EDITOR)を実行しますが、エディターが指定されておらず、端末がダムの場合はエラーになります。

is_bare_repository

true または false を標準出力ストリームに出力して、リポジトリがベアリポジトリであるかどうか(つまり、関連する作業ツリーがないかどうか)を示します。

cd_to_toplevel

作業ツリーのトップレベルまでchdirを実行します。

require_work_tree

現在のディレクトリがリポジトリの作業ツリー内にあるかどうかを確認し、そうでない場合は停止(die)します。

require_work_tree_exists

リポジトリに関連付けられている作業ツリーが存在するかどうかを確認し、存在しない場合は停止(die)します。多くの場合、cd_to_toplevelを呼び出す前に実行されますが、作業ツリーがない場合は実行できません。

require_clean_work_tree <action> [<hint>]

リポジトリに関連付けられている作業ツリーとインデックスに、追跡されたファイルへのコミットされていない変更がないことを確認します。それ以外の場合は、 Cannot <action>: <reason>. <hint> の形式のエラーメッセージを出力し、dieします。 例:

require_clean_work_tree rebase "Please commit or stash them."
get_author_ident_from_commit

特定のコミットの GIT_AUTHOR_NAME と GIT_AUTHOR_EMAIL と GIT_AUTHOR_DATE 変数を設定するためにevalで使用するコードを出力します。

create_virtual_base

最初のファイルを変更して、2番目のファイルと共通の行だけが残るようにします。共通の資料が不十分な場合、最初のファイルは空のままになります。 結果は、3方向マージの仮想ベース入力として適しています。

GIT

Part of the git(1) suite