Мне бы хотелось, чтобы в Git был определен ответвление, на которое ссылается @{-N}
, то, что я мог бы использовать в сценариях.
Похоже, он нигде не всплыл.Я могу придумать несколько способов самому создать функциональность, например, синтаксический анализ .git/logs/HEAD
, запись в пользовательский файл журнала на post-checkout
(оба работоспособных решения, но они чувствуют себя тяжелыми руками), или тихий запуск checkout @{-N}
, а затем без вывода сообщений.запуск checkout -
(медленно, не обязательно хорошо играет с грязным рабочим деревом и меняет стек оформления).
Но есть ли способ получить его напрямую?Например, есть ли способ использовать функции, которые использует сам Git, не копируя значительную часть исходного кода Git?Я полагаю, что синтаксис был впервые введен в https://github.com/git/git/commit/8415d5c7ef63237f6efab0c9aef0b0fdbcbfda25 (git branch
) и https://github.com/git/git/commit/c9717ee97075bb333684fa2f63e9136c5f7d89bf (git merge
), где он рассчитывается с использованием внутренних функций, с которыми я не знаком.
Мне также будут интересны комментарии, указывающие на другие коммиты в Git-источнике, связанные с этим.