問題タブ [git-plumbing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - git で 2 つのリビジョンのファイルをプログラムで比較するにはどうすればよいですか?
git の異なるコミットで、ファイルの 2 つのバージョン (異なるパスに存在する) を比較したいと考えています。diff は必要ありません。内容とモードが同じかどうかを知りたいだけです。diff-files のドキュメントは、戻り値の意味を示していません。git に cmp(1) のようなものはありません。これを行うための別の配管ツールはありますか、または差分ファイルにはこれを表す戻り値がありますか?
git - Git: .git ディレクトリで blob パスを取得する
レポ履歴のある時点でいくつかのブロブにアクセスしたいと考えています。
現在、私はgit show $REV:$PATH. しかし、ファイルは非常に大きいため、それらを読み取ってスクリプトにパイプすることは望ましくありません。私は彼らのパスを取得してから、プレーンファイルとして読みたいと思っています。
現在のドキュメント (例: ) に記載されているレイアウトに依存して.git/objects/ee/2403ffd236587a2b17ddc35b0e711fc99ba6a0、ファイル ハッシュを取得し、手動でパスに変換してもよいですか? つまり、将来のバージョンですぐに変更されることはなく、objects ディレクトリは常にこの構造になっています。いくつかの配管コマンドでそれを行う簡単な方法はありますか?
git - サブモジュールのリモートを取得する git 配管コマンド
私は、読み取り専用のファイルシステムで、git 配管とミラー化された (つまり裸の) リポジトリを使用しています。
でサブモジュールの存在を確認できますgit ls-tree。名前/パスと SHA1 を推測できますが、サブモジュールをリモートに取得する方法が見つかりません。
情報はどこかにあります。レポを複製すると、git submodule init成功します。(クローンの作成は、特に非常に大きなリポジトリの場合、通常の使用にはコストがかかりすぎます。) サブモジュールのリモートに直接アクセスするにはどうすればよいですか?
git - BLOB のない Git クローン ベア リポジトリ
私の git リポジトリでは、ブランチ名とタグに基づいて、すべてのコミットに 1 つ以上の一意のバージョン番号を割り当てるアルゴリズムを使用しています。ファイルを転送せずに複製したい別の大規模なリポジトリでこのメカニズムを使用したいと考えています。
ベア クローンは、BLOB の作業コピーを取り除くのに役立ちますが、それでもサーバーから BLOB をダウンロードします。シャロー クローン--depth 1はほとんどの BLOB をスキップしますが、1 つを除くすべてのコミットのメタデータのダウンロードもスキップします。
git fast-export --no-data最初にサーバーからリポジトリを複製せずに、クライアント側でコミットメタデータとファイル名を含むグラフ情報を取得するために使用できるようなものはありますか? 理想的には、他の (むき出しの浅い) レポジトリと同じように、 経由でメタデータにアクセスできますgit log|show|rev-parse|show-ref。
(git LFS と git Annex が存在し、いくつかのリポジトリのサイズを縮小するのに役立つことは知っていますが、変更せずに既存のリポジトリでそれらを使用することはできません。)