ORIG_HEAD, FETCH_HEAD, MERGE_HEAD и т.д.

Там много полезных git ссылок (для чего это точное имя?), например. HEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEAD, @{вверх по течению} и т.д.

Есть ли для этого ссылка? Полный список с пояснениями?

Ответы

Ответ 1

git help revisions выводит http://git-scm.com/docs/gitrevisions, в котором описывается все наиболее распространенные способы ссылки:

  • HEAD обозначает коммит, на котором вы основываете изменения в рабочем дереве.
  • FETCH_HEAD записывает ветку, которую вы извлекли из удаленного репозитория, с помощью последнего вызова git fetch.
  • ORIG_HEAD создается командами, которые перемещают ваш HEAD резким способом, чтобы записать положение HEAD до их работы, так что вы можете легко изменить кончик ветки обратно в состояние до вы запустили их.
  • MERGE_HEAD записывает commit (ы), которые вы объединяете в свою ветку, когда вы запускаете git merge.
  • CHERRY_PICK_HEAD записывает фиксацию, которую вы выбираете, когда вы запускаете git cherry-pick.

Из источника git вы также можете узнать о BISECT_HEAD, REVERT_HEAD, REJECT_NON_FF_HEAD и нескольких других, которые вам почти наверняка никогда не понадобятся.

Эта ссылка также объясняет суффиксы (^N, ~N, @{...}), диапазоны (.. vs ...) и т.д.

Ответ 2

HEAD: текущая ссылка, на которую вы смотрите. В большинстве случаев, вероятно, refs/heads/master

FETCH_HEAD: SHA ветки/удаленных голов, которые были обновлены во время последнего git fetch

ORIG_HEAD: При выполнении слияния это SHA ветки, с которой вы объединяетесь.

MERGE_HEAD: При выполнении слияния это SHA ветки, с которой вы слияете.

CHERRY_PICK_HEAD: Когда вы делаете вишневый кик, это SHA коммита, который вы выбираете из вишни.

Полный список этих ссылок может быть найден путем клонирования git sources:

git clone https://github.com/git/git.git

и grepping строку _HEAD" в файлах .c. Они разбросаны повсюду, но их можно легко найти.

P.S.

git help revisions не отображает список всех возможных именных ссылок.

Ответ 3

Это то, что официальная документация

Ответ 4

Эти ссылки называются указателями. Они являются просто регулярными указателями в терминах программиста для древовидных сущностей, которые существуют внутри Git. Обратите внимание, что дерево-иш - это все, что состоит из по меньшей мере одного коммита, т.е. Ветви, тега, тире или что-то вроде HEAD. Что касается полного списка, я думаю, что единственное, что существует, это руководство:

http://git-scm.com/documentation

Пока нет полного списка доступных специальных указателей, таких как HEAD В руководстве действительно содержится полный список доступных указателей, хотя их трудно найти.