次の git コマンドに遭遇しました: git diff ^master my_branch@{1} my_branch
. ^master
、my_branch@{1}
およびコマンド自体はどういう意味ですか?
私は人を探しましgit diff
たが、3 つのブランチを持つ亜種は見つかりませんでした。
次の git コマンドに遭遇しました: git diff ^master my_branch@{1} my_branch
. ^master
、my_branch@{1}
およびコマンド自体はどういう意味ですか?
私は人を探しましgit diff
たが、3 つのブランチを持つ亜種は見つかりませんでした。
詳細についてはgitrevision
、man ページを参照してください。あなたの例では:
my_branch@{1}
以前の参照状態を意味しmy_branch
ます。^master
の機能でgit diff
あり、すでにmaster
ブランチにあるものを除くすべてを意味します。my_branch
その結果、 の以前のバージョンに含まれていたものの、まだ含まれていないものがすべて取得されますmaster
。
^master はマスターからではないことを意味します
ref の後にサフィックス @ が続き、中かっこのペア ({1}、{15} など) で囲まれた序数指定は、その ref の n 番目の前の値を指定します。たとえば、master@{1} は master の直前の値であり、master@{5} は master の 5 番目の値です。このサフィックスは、ref 名の直後にのみ使用でき、ref には既存のログ ($GIT_DIR/logs/) が必要です。
したがって、my_branch の差分を実行しますが、マスターから到達可能な差分は表示されません。