Gitのバージョン及びバージョン範囲表記

 

多くのGitのコマンドは、パラメータとして改訂(リビジョン)を使用します。時々改訂パラメータは、特定の提出を表し、コマンドによっては、時々提出するすべての親に代わって(例えばgitのログとして)提出することを辿ることができます。この後者の場合には、リビジョンの典型的範囲は、パラメータとして提供されてもよいです。また、このようなツリーのオブジェクト又はブロブのような他のオブジェクトのリビジョンを表すパラメータを用いて、いくつかのコマンド(例えばgitのショー)。

指定 revision

リビジョンパラメータ  <REV>  通常の状況下では(すべてではない場合)は、ターゲット(コミット)に代わって提出しました。これは、(SHA-1拡張SHA-1を使用して、拡張構文と呼ばれます ) ここでは、構文は、改正のさまざまなを表しています。

  • <sha1>例えば、 dae86e1950b1277e545cee180551750029cfe735, dae86e

    完全なSHA-1 ID(40バイトの16進文字列)、またはプリアンブル倉庫で提出このサブストリングのみを表すことができ、この提出を参照することができます。先頭のサブストリングがあるため、本実施形態では、  dae86e 倉庫内で一意であり、それを使用することができる  dae86e 表現します  dae86e1950b1277e545cee180551750029cfe735場合  dae86e のみだけではなく倉庫にいくつかのより多くの文字を必要とする、あなたは倉庫にそれを一意にすることができます。

  • <describeOutput>例えば、 v1.7.4.2-679-g3bee7fb

    Gitは、コマンドの出力について説明します。ハイフンタグ、提出数、ハイフン、文字グラム、そして最終的に速記オブジェクトIDが含まれています。

  • <refname>例えば、 master, heads/master, refs/heads/master

    シンボル参照。例:マスターは、通常のオブジェクトを提出することをレフリー/ヘッド/マスターの参照を表します。ヘッド/マスター:同時にヘッド/マスターとタグ/マスターの存在下で、あなたの倉庫場合は、支店の代表を習得するためには、明示的に指定することができます。参照名は、以下の規則に従ってあいまいな、次いでGitの処理が登場した場合、最初に見つかった一致が使用されています。

    1. ある場合は  $GIT_DIR/<refname>、それを使用します
    2. それ以外の場合は、探し refs/<refname>
    3. それ以外の場合は、探し refs/tags/<refname>
    4. それ以外の場合は、探し refs/heads/<refname>
    5. それ以外の場合は、探し refs/remotes/<refname>
    6. それ以外の場合は、探し refs/remotes<refname>/HEAD
  • @:@シングルHEADを代表して

  • <refname>@{<date>}例えば、 master@{yesterday}, HEAD@{5 minutes ago}

    参照名、記号@に続いて、次いで(ブレースの内側に囲まれた日付に続く例えば:{昨日}、{1ヶ月、2週間、3日、1秒前1時間}または{1979年2月26日18時30 :00})期間前の基準値を表します。この使用法は、正確なコミットIDのために使用することはできません、上記参照するために有用であり、参照は/ $ GIT_DIR /ログに存在するレコードは持ってログインする必要があります。この用法は唯一の任意の時点で、あなたの地元の倉庫の状態をチェックすることに注意してください。あなたが状態で一定の時間を確認したい場合は、--sinceと--untilパラメータを使用しています。

  • <refname>@{<n>}例えば、 master@{1}

    バックサフィックス@参照の名前が続くと({1}、{15})は、例えば、中括弧で囲まれた番号です。Nは、前の基準の値を表すことができます。例えば、master@{1} 以前の値は、マスターを表します。 master@{5} 代表の第五の前にマスターの値。この使い方は、参照のみに使用することができ、参照は、ログへの参照を持っている必要があります($GIT_DIR/logs/<refname>)。

  • @{<n>}例えば、 @{1}

    あなたは、参照部、現在のブランチの代表を省略した場合。例:あなたは、その後、分岐blablaに現在ある場合は、@ {1}の{1} @ blablaと意味。

  • @{-<n>}例えば、 @{-1}

    @ { - }、この表記、検出されたブランチのn番目の前代表または提出します。千島湖

  • <rev>^例えば、 HEAD^, v1.5.1^0

    以降のリビジョンプラスでは  ^ 、サフィックスは、直接の親リビジョンを提出することを参照するために使用することができます。^<n> Nは、(例えば、提出の親を表す  \<rev\>^ と  \<rev\>^1 等価です)。\<rev\>^0 自分に代わっをREV。場合  \<rev\> 、タグ名\<rev\>^0 、タグの表現がコミットのオブジェクトに対応します。

  • <rev>~<n>例えば、 master~3

    以降のリビジョンプラスでは  ~<n> 、サフィックスn番目の祖先のリビジョンに代わって提出しました。プライマリユーザー<REV>は提出され、親を複数持つ場合。

  • :/<text>例えば、 :/fix nasty bug

    テキストの文字列の後ろにスラッシュが続くコロン、。このテキスト文字列は正規表現として扱われます。全体  :/<text> の情報を提出する代表的には、最後の提出の正規表現にマッチします。正規表現は、提出された情報の一部を一致させることができます。あなたが提出された情報の先頭を一致させたい場合は、それを使用することができます  :/^foo

  • <rev>:<path>例えば、 HEAD:README, :README, master:./README
  • :<n>:<path>例えば、 :0:README, :README

以下は、様々な概念を示す図です。

G   H   I   J
 \ /     \ /
  D   E   F
   \  |  / \
    \ | /   |
     \|/    |
      B     C
       \   /
        \ /
         A
                       
A =      = A^0
B = A^   = A^1     = A~1
C = A^2  = A^2
D = A^^  = A^1^1   = A~2
E = B^2  = A^^2
F = B^3  = A^^3
G = A^^^ = A^1^1^1 = A~3
H = D^2  = B^^2    = A^^^2  = A~2^2
I = F^   = B^3^    = A^^3^
J = F^2  = B^3^2   = A^^3^2

指定された範囲

これらのコマンドは、一連の操作だけではなく、提出するため、行って提出します(たとえば、gitのログとして)提出の歴史を通過する必要があります。のみそれらのパラメータの修正を提供する場合、これらのコマンドについては、その後、意味がチェーンのリビジョンの祖先はすべての提出を追跡することができ提出することを指します。

あなたは、から提出を提出するトレースすることができ除外したい場合のみ提出の前に接頭辞を追加する必要があります  ^たとえば、次のように  ^r1 r2 参照するには、提出するR2からたどることができるが、すべてのR1は、すべての提出にさかのぼることができるが含まれていません。以下のためのように、この表現は、非常に一般的であり  ^r1 r2 、それは簡略表記を有すること:r1..r2(注:R1とR2との間の2つだけの期間)。リビジョンを省略することができ、改正省略時のデフォルトはHEADです。

同様の表記法は:r1...r2 R1とR2との間の(数学的)が設定差を呼び出すことができ、R 1は、トラックは投稿を指すか、またはR 2は、トラックからの提出であるが、R 1およびR 2は追跡され含まれていませんA。

  • <rev>:からの代表的な  <rev> 提出(すべてのレブ祖先)を追跡することができます。

  • ^<rev>:それは含まれていません  <rev> 提出を追跡することができます。

  • <rev1>..<rev2>

    それから、それが含まれている  <rev2> すべての提出を追跡することができますが、含まれていない  <rev1> の提出を追跡することができます。

  • <rev1>...<rev2>

    それから含まれている  <rev1> か、  <rev2> 提出するトレーサブルが、両方からの提出を追跡することができます含まれていません。この範囲は、混乱の方法の一つと一緒に代表されます。上記の2点が、この3点です。例としては、上記の図に、D..F範囲D及びFで示すだけ提出F.、およびD ... F.、提出範囲を表現します

  • <rev>^@例えば、 HEAD^@

    代わって  <rev> 提出するすべての親、それが提出され、その親からすべてのトラックを提出することですが、それ自身は含まれていません。

  • <rev>^!例えば、 HEAD^!

ここではいくつかの例を示します。

D                G H D
D F              G H I J D F
^G D             H D
^D B             E I J F B
B..C             C
B...C            G H D E B C
^D B C           E I J F B C
C                I J F C
C^@              I J F
C^!              C
F^! D            G H D F

 

おすすめ

転載: www.cnblogs.com/sunsky303/p/11589229.html