6

私はずっと前にこの質問をしましたが、私はまだこの答えで〜と^が何を意味するのかわかりません:

たとえば、origin / masterなどのリモートブランチについて話している場合は、ローカルブランチの場合と同じように、〜と^を使用してブランチに関連する祖先コミットを参照できます。

違いは何ですか?

4

3 に答える 3

6

^「(最初の)親」を意味します。~似ていますが、引数として数字を取り、基本的に「の祖先」を意味します。したがって、たとえば:

HEAD            = latest commit
HEAD^  = HEAD~1 = parent of latest commit
HEAD^^ = HEAD~2 = grandparent of latest commit
HEAD~100        = 100th ancestor of latest commit
于 2013-02-06T16:21:57.647 に答える
4

マンページに記載されているように:

<rev>^, e.g. HEAD^, v1.5.1^0
リビジョン パラメータのサフィックス ^ は、そのコミット オブジェクトの最初の親を意味します。^<n><n>番目の親を意味します (つまり<rev>^、 と同等です<rev>^1)。[...]

<rev>~<n>, e.g. master~3
~<n>リビジョン パラメータ のサフィックスは<n>、最初の親のみに続く、名前付きコミット オブジェクトの第 2 世代の祖先であるコミット オブジェクトを意味します。つまり、 は と同等<rev>~3です。<rev>^^^<rev>^1^1^1

于 2013-02-06T16:24:11.327 に答える
4

このドキュメントによると、チルダ (~) はコミットの線形祖先 (親、祖父母、曾祖父母) を参照し、キャレット (^) は複数の親を参照します。複数のマージ先祖がある場合、各マージ ソースが親になります。

于 2013-02-06T16:24:15.173 に答える