git rev-parse は何をしますか? 質問する

git rev-parse は何をしますか? 質問する

git rev-parseをするのですか?

私はマニュアルページを読みましたが、答えよりも疑問の方が多かったです。例えば、

パラメータを選択してマッサージする

マッサージ?それはどういう意味ですか?

私はリビジョン指定子のリゾルバ(SHA1用)として、次のように使用しています。

git rev-parse HEAD^

または

git rev-parse origin/master

これはコマンドの目的ですか? そうでない場合、これを実現するためにコマンドを使用することは正しいですか?

ベストアンサー1

git rev-parseplumbing主に操作に使用される補助コマンドです。

の一般的な使用法の 1 つは、git rev-parseリビジョン指定子を指定して SHA1 ハッシュを出力することです。さらに、--shortより短い一意の SHA1 を出力するなど、この出力をフォーマットするためのさまざまなオプションがあります。

私が使用した他のユースケース(git 上に構築されたスクリプトやその他のツール)も、次のとおりです。

  • --verify指定されたオブジェクトが有効な git オブジェクトであることを確認します。
  • --git-dirディレクトリの絶対パス/相対パスを表示します.git
  • 現在リポジトリ内--is-inside-git-dirか作業ツリー内かを確認するには--is-inside-work-tree
  • リポジトリがベアであるかどうかを確認する--is-bare-repository
  • --branchesブランチ( )、タグ( )のSHA1ハッシュを印刷し--tags、参照はリモートに基づいてフィルタリングすることもできます( を使用--remote)。
  • --parse-optスクリプト内の引数を正規化し( に似ていますgetopt)、出力文字列を印刷します。eval

Massage情報をある形式から別の形式に変換できること、つまり変換コマンドを意味します。以下は私が思いつく簡単な例です:

  • コミットの SHA1 にブランチまたはタグ名を追加して、コミットの SHA1 値のみを受け入れる配管コマンドに渡すことができるようにします。
  • または、基礎となる配管コマンドの同等の引数へのA..Bリビジョン範囲git loggit diffB ^A

おすすめ記事