次の 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 の差分を実行しますが、マスターから到達可能な差分は表示されません。