Подтвердить что ты не робот

Собирает ли мусор GitHub оборванные комманды, на которые ссылаются запросы на pull?

Время от времени возникает ситуация...

I git checkout -b experiment, совершите некоторые экспериментальные изменения и откройте запрос на растяжение. После некоторого обсуждения запрос на извлечение отклоняется.

Если бы я теперь удалял удалённую ветвь, это бы ли показало, что diff недоступен в какой-то момент или GitHub гарантирует, что коммиты, которые появляются в запросах на pull, не собираются с мусором, даже если они не отображаются в какой-либо ветке?

Я хотел бы удалить мертвые ветки, но только если это не уменьшит историческое значение отклоненных запросов на pull.

4b9b3361

Ответ 1

Нет, они не будут gc, потому что они не полностью не найдены, даже если вы удалите свою ветку.

Github создает ветку (фактически, два) для каждого запроса на растяжение. Они находятся в пространстве имен, отличных от по умолчанию, поэтому вы обычно не получаете их, когда вы извлекаете (или извлекаете) из репо.

Чтобы увидеть, как это выглядит на практике, выполните git ls-remote <REMOTE>, где <REMOTE> - это либо имя удаленного (если оно известно вашему репо), либо URL (ему не нужно быть git remote add чтобы это работало). Этот пульт должен иметь несколько запросов на тягу, иначе вы не сможете понять, что я имею в виду.

Здесь будут перечислены все ссылки на удаленный (все ветки и теги), и вы увидите некоторые ссылки, такие как refs/pull/<number>/head и refs/pull/<number>/merge. Они ссылаются на последнюю фиксацию в PR и на фиксацию, на которой она была объединена, соответственно.