/usr/local/libexec/git
にスクリプトを書いて、それを呼び出すエイリアスを作成して、カスタムGitコマンドを作成します。たとえば:ポータブルGitライブラリスクリプトを書くには?
git config --global alias.graph '!/usr/local/libexec/git/git-graph'
トリッキーな部分は、私は私のスクリプトは、Gitリポジトリをインストールした誰もが遭遇することなく、私は同じようにインストールして、私のスクリプトを実行することができるはずという意味で「ポータブル」になりたいということです依存関係がありません。
重要編集: @ Schwernの回答に従って、もう少し情報を追加する必要があります。 "Gitをインストールした人"を "Gitの公式ソースで提供されているgit-core
スクリプトを使ってGitとやり取りする人"に置き換えてください。たとえば、git rebase
を呼び出すと、.../git-core/git-rebase.sh
が実行されます。 (最後の単語をクリックすることはできますが、それはハイパーリンクですが、すべてのブラウザでそのようには表示されません)。これはGitプロジェクト自体によって提供されるデフォルトであるため、
私の長年の経験を書いたportable shell scriptsから、これまで存在していたすべてのUnixライクなOS上で実行するには中程度の複雑さのシェルスクリプトも期待するのは無駄だと分かっています。しかし、これらのワークステーション上でスクリプトを書くときには、少なくとも、絶え間なくジャンプして卵殻を歩かないように、少なくともGitワークステーション間に共通のユーティリティーベースが存在すると予想するのが妥当だと思います。 git-core
ディレクトリ(例えば/usr/libexec/git-core
)のすべてのスクリプトは、Gitのインストールによってそこに配置されて以来変更されていない
- :ここ
はGitのワークステーションについての私の想定しています。
git-core
のすべてのスクリプトが期待どおりに実行されます(Gitの管理者のワークステーションや「通常」の設定の場合と同じです)。- インストールされたGitのバージョンは、スクリプトでサポートすることを決めた任意の最小要件を満たしています。 編集:「任意」とは、「便利」を意味していました。 @Schwernは私が実際にここで言うことを正確に述べていました。
これらのGitワークステーションにポータブルスクリプトを書き込むために使用できるユーティリティの共通基盤を特定するにはどうすればよいですか?
編集:私は基本的にメインのGitのディストリビューションで提供git-core
スクリプト用の依存関係のリストを探しています。これは私が探している共通の基盤を与えるでしょう。
これはgitとは関係がありません。あなたのリンクは、どこからでもうまく動作することがわかっています。ここにあなたを導いた情報が不満足なことはありますか? – jthill
@jthill問題は、Gitについてよりも移植可能なスクリプトを書いていますが、確かにGitに関係しています。基本的には、Gitがインストールされているどのコンピュータでも、私が仮定したことを考慮して見つけることができる一般的なユーティリティ(シェル組み込み関数を含む)を探しています。 'git-core'の内容に見られるように、Gitはこれが真実であることと、特定のバージョンのPythonとPerlがインストールされていることに依存しています。私がリンクしているGNUマニュアルに書かれている助言には 'git-core'が続きません。 – Sam
ところで 'git-p4'はPythonですが、他のすべてのコアスクリプトはPythonではなく、さまざまな" contrib "ディレクトリにあります。これは主にPython2とPython3、そして/またはPythonライブラリのすべての複雑さに依存しないようにすることを前提としています。 – torek