Когда (если вообще) HEAD ~ и HEAD ^ не будут одинаковыми коммитами? - PullRequest
4 голосов
/ 09 ноября 2011

Есть ли ситуации, в которых HEAD~ и HEAD^ не будут одинаковыми коммитами?В более общем смысле, есть ли серии слияний или других операций, которые приведут к тому, что x~ не будет совпадать с x^?

Ответы [ 2 ]

6 голосов
/ 09 ноября 2011

Нет, HEAD ~ и HEAD ^ являются синонимами.

HEAD ~ означает HEAD ~ 1 по определению.

HEAD ~ 1 означает HEAD ^ по определению.

См.git rev-parse --help для получения дополнительной информации.

2 голосов
/ 09 ноября 2011

HEAD~n является n-м (большим) родителем коммита (здесь HEAD) после первых родителей

HEAD^n является n-м родителем HEAD

Таким образом,

1010 *HEAD~ является первым родителем ГОЛОВЫ (после первых родителей, что является спорным здесь) 1013 *HEAD^ является первым родителем ГОЛОВЫ 1016 * Итак,HEAD~ = HEAD~1 = HEAD^1 = HEAD^.

Они всегда указывают на один и тот же коммит.

Обратите внимание, что при этом HEAD~2 is equivalent to HEAD^^ и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...