На уроке Udacity, охватывающем относительные ссылки на коммиты, говорится:
^ указывает на родительский коммит, ~ указывает на первый родительский коммит
Основное различие между ^ и~ это когда коммит создается из слияния.У фиксации слияния есть два родителя.При коммите слиянием ссылка ^ используется для обозначения первого родителя коммита, а ^ 2 - второго родителя.Первый родитель - это ветвь, на которой вы работали, когда вы запустили git merge, а второй родитель - это ветвь, которая была объединена.
Согласно уроку, основанному на следующем выводе git log --graph --oneline
,commit с SHA f69811c
равен HEAD~4^2
относительно (самый верхний, с указателем головы) commit 9ec05ca
.
Так что HEAD ~ 4 сам по себе означает первого родителя, а ^ 2 означает, что онтоже второй родитель?Разве эти вещи не противоречат друг другу?Любые разъяснения приветствуются.
