0

次の git コマンドに遭遇しました: git diff ^master my_branch@{1} my_branch. ^mastermy_branch@{1}およびコマンド自体はどういう意味ですか?

私は人を探しましgit diffたが、3 つのブランチを持つ亜種は見つかりませんでした。

4

2 に答える 2

2

詳細についてはgitrevision、man ページを参照してください。あなたの例では:

  1. my_branch@{1}以前の参照状態を意味しmy_branchます。
  2. ^masterの機能でgit diffあり、すでにmasterブランチにあるものを除くすべてを意味します。

my_branchその結果、 の以前のバージョンに含まれていたものの、まだ含まれていないものがすべて取得されますmaster

于 2012-07-18T13:39:10.323 に答える
2

^master はマスターからではないことを意味します

ref の後にサフィックス @ が続き、中かっこのペア ({1}、{15} など) で囲まれた序数指定は、その ref の n 番目の前の値を指定します。たとえば、master@{1} は master の直前の値であり、master@{5} は master の 5 番目の値です。このサフィックスは、ref 名の直後にのみ使用でき、ref には既存のログ ($GIT_DIR/logs/) が必要です。

したがって、my_branch の差分を実行しますが、マスターから到達可能な差分は表示されません。

于 2012-07-18T13:36:36.080 に答える