1. ホーム
  2. git

[解決済み】git rev-parseは何をするのですか?

2022-02-01 21:39:43

質問

とは何ですか? git rev-parse を行うか?

man ページを読みましたが、答えよりも疑問が多くなりました。以下のようなものです。

ピックアップと マッサージ パラメーター

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

のようなリビジョン指定子の(SHA1への)リゾルバとして使っています。

git rev-parse HEAD^

または

git rev-parse origin/master

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

どのように解決するのですか?

git rev-parse は補助的な plumbing コマンドは、主に操作のために使用されます。

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

他にも、(gitの上に構築されたスクリプトや他のツールで)使用した例があります。

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

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

  • ブランチやタグの名前をコミットの SHA1 に変換し、そのコミットの SHA1 値のみを受け付ける配管コマンドに渡せるようにします。
  • リビジョン範囲 A..B について git log または git diff を、基本的な配管コマンドの同等の引数に変換します。 B ^A