このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。
git のコマンドでコミット(リビジョン)を指定する記法をまとめました。
図解Git と合わせてご覧いただくと良いかもしれません。
git merge や git reset などで使用します。また、後述のコミットの範囲を指定する記法で使用します。
<rev>指定方法 | 例 | 意味 |
---|---|---|
<sha1> | dae86e | おなじみ SHA-1 ハッシュ値。被った値がなければ先頭から数文字で良い。 |
<describeOutput> | v1.7.4.2-679-g3bee7fb | git discribe コマンドで出力される文字列。ヒューマンフレンドリーな文字列を使いたい場合に。 |
<refname> | master, heads/master, refs/heads/master | ブランチ名、タグ名など。 |
@ | 現在のブランチ。 | |
<refname>@{<date>} | master@{yesterday}, HEAD@{5 minutes ago} | <refname> が過去に指していた値。yesterday は24時間前を意味する。 |
<refname>@{<n>} | master@{1}, @{1} | <refname> が <n>個前に指していた値。<refname> を省略した場合は、現在のブランチを意味する。 |
@{-<n>} | @{-1} | <n>個前にチェックアウトしたブランチ/コミット |
<branchname>@{upstream} | master@{upstream}, @{u} | デフォルトで pull するリモートブランチ。 |
<branchname>@{push} | master@{push}, @{push} | デフォルトで push するリモートブランチ |
<rev>^<n> | HEAD^, v1.5.1^0 | <n>個目の親。省略した場合は1つ目を指し、0の場合は、親ではなく <rev> 自身を指す。 |
<rev>~<n> | master~3 | <n>世代前の祖先。複数の親がいる場合は、最初の親をたどる。 |
<rev>^{/<regexp>} | HEAD^{/fix nasty bug} | <rev>からたどれるコミット(<rev>またはその祖先)で、コミットメッセージが <regexp> にマッチする一番若いもの。 |
git log や git format-patch で使用します。git diff でも類似の記法が使えますが、意味が変わります。
範囲指定 | 例 | 意味 |
---|---|---|
<rev> | HEAD | <rev>からたどれるコミット(<rev>またはその祖先) |
^<rev> | ^v1.1 | 他と組み合わせて使用し、<rev>からたどれるコミットを除外する |
<rev1>..<rev2> | r1..r2 | ^<rev1> <rev2> の略記。<rev2>からはたどれるが、<rev1>からはたどれないコミット。感覚的には、 <rev2> が取り込んでいて、<rev1> がまだ取り込んでいないパッチの集合。 |
<rev1>…<rev2> | r1…r2 | <rev1> と <rev2> のどちらか片方からしかたどれないコミット。感覚的には、<rev1> (または<rev2>) に対して、これらのコミットにおける diff を patch あるいは patch –reverse していくと、<rev2> (または<rev1>) になる。 |
<rev>^@ | HEAD^@ | <rev> のすべての祖先。<rev> は除く。 |
<rev>^! | HEAD^! | <rev> 単独を指す。 |
<rev>^-<n> | HEAD^-, HEAD^-2 | <rev>^<n>..<rev> の略記。<rev> からはたどれるが、<rev>の<n>世代前の祖先からはたどれないコミット。<n>が省略された場合は1として扱う。 |
keisuke.kimura in Livox Mid-360をROS1/ROS2で動かしてみた
Sorry for the delay in replying. I have done SLAM (FAST_LIO) with Livox MID360, but for various reasons I have not be...
Miya in ウエハースケールエンジン向けSimulated Annealingを複数タイルによる並列化で実装しました
作成されたプロファイラがとても良さそうです :) ぜひ詳細を書いていただきたいです!...
Deivaprakash in Livox Mid-360をROS1/ROS2で動かしてみた
Hey guys myself deiva from India currently i am working in this Livox MID360 and eager to knwo whether you have done the...
岩崎システム設計 岩崎 満 in Alveo U50で10G Ethernetを試してみる
仕事の都合で、検索を行い、御社サイトにたどりつきました。 内容は大変参考になりま...
Prabuddhi Wariyapperuma in Livox Mid-360をROS1/ROS2で動かしてみた
This issue was sorted....