Как получить ветку репозитория git по умолчанию в Rugged Gem Ruby?

Связано с git - как получить ветку по умолчанию?

Я пытаюсь перенести скрипт Bash на Ruby. Сценарий использует git symbolic-ref --short HEAD для получения ветки репозитория по умолчанию.

Есть ли способ объединить rugged repo.branches.each_name(:local) с какой-либо другой командой, чтобы найти ветку по умолчанию?

Или я думаю слишком сложно, и в Rugged есть полезная функция по умолчанию, которую я упускаю? Сценарий нужно продолжить, создав новую ветку по умолчанию/последней, проверить ее, зафиксировать что-то стандартизированное, отправить новую ветку и открыть запрос на извлечение для этой базовой ветки.


person Katrin Leinweber    schedule 29.12.2018    source источник
comment
Как именно git branch --list | head -1 | sed -E 's/ *//' получает ветку по умолчанию? Он возвращает только первую ветку из списка веток.   -  person Arkadiusz Drabczyk    schedule 29.12.2018
comment
@ArkadiuszDrabczyk: я догадался, что в списке вверху находится ветка HEAD. В моем использовании это работало до сих пор, даже когда ветка по умолчанию на GitHub называлась dev или src.   -  person Katrin Leinweber    schedule 29.12.2018
comment
Я явно указал, что Q уже, см. раздел «Ссылки» в правом верхнем углу этого ;-) Я добавлю это предложение в сценарий Bash, но суть этого вопроса в том, как перенести это поведение на Ruby.   -  person Katrin Leinweber    schedule 29.12.2018
comment
Извините, но я до сих пор не понимаю, что для вас означает ветка deafult - это а) текущая извлеченная ветка б) ветка автоматически извлекается после клонирования репозитория?   -  person Arkadiusz Drabczyk    schedule 29.12.2018
comment
Тот, который указан в GitHub под /settings/branches, потому что владельцы репо часто запрашивают PR для этого. Если git clone --depth=… клонирует его по умолчанию, проблема уже решена.   -  person Katrin Leinweber    schedule 30.12.2018