382

何をしgit rev-parseますか?

man ページを読みましたが、回答よりも多くの疑問が生じました。次のようなもの:

パラメータを取り出してマッサージする

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

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

git rev-parse HEAD^

また

git rev-parse origin/master

これがコマンドの目的ですか?そうでない場合、それを使用してこれを達成することは正しいですか?

4

4 に答える 4

141

コマンド名の語源を詳しく説明するためにrev-parse、Git は一貫してrev配管コマンドでこの用語を「リビジョン」の略語として使用し、通常はコミットの 40 文字の SHA1 ハッシュを意味します。rev-listたとえば、このコマンドは、ブランチなどの 40 文字のコミット ハッシュのリストを出力します。

この場合、名前は に展開される可能性がありますparse-a-commitish-to-a-full-SHA1-hash。コマンドには Tuxdude の回答で言及されているいくつかの補助機能がありますが、その名前は、ブランチ名や省略されたハッシュなどのユーザー フレンドリーな参照を、多くのプログラミング/配管に最も役立つ明確な 40 文字の SHA1 ハッシュに変換するユース ケースのようです。目的。

私はそれを理解する前にかなり長い間「逆解析」の何かだと思っていたことを知っていて、「マッサージ」と「操作」という用語を理解するのと同じ問題を抱えていました:)

とにかく、この「パースからリビジョンへ」という概念は、満足のいく考え方であり、そのようなことが必要なときにこのコマンドを思い出すための信頼できる概念だと思います。Git のスクリプト作成では、ユーザー フレンドリーなコミット リファレンスをユーザー入力として受け取り、それを受け取ったらできるだけ早く検証済みで明確なワーキング リファレンスに解決したいと考えることがよくあります。そうしないと、入力の変換と検証がスクリプトを通じて急増する傾向があります。

于 2015-01-31T07:34:35.783 に答える
46

git rev-parse次のように--abbrev-refフラグを使用して現在のブランチ名を取得するためにも機能します。

git rev-parse --abbrev-ref HEAD
于 2016-12-27T18:33:06.207 に答える