Что такое «устаревшая» ветка git?

133

«Устаревшая» ветка git - это термин, который я слышал много раз. Я знаю, что это как-то связано с ветвями, которые считаются менее полезными или бесполезными, но не могу найти точного определения. Что такое "устаревшая" ветка git?

cowlinator
источник

Ответы:

96

Самая старая ссылка на «устаревшие» находится в коммите e194cd1 (январь 2007 г., Git 1.5.0), который обнаружил « устаревшие отслеживающие ветки в удаленном »: при отслеживании ветки, которая была удалена удаленной системой.
Отсюда git remote prune.

Это основное определение устаревшей ветки: удаленная ветка отслеживания ( локальная ссылка на ветку удаленного репо), которая больше ничего не отслеживает (потому что фактическая ветка в удаленном репо исчезла).

git remote show может их перечислить.


Между прочим, у вас есть два других определения «устаревшего» в системе Git:

  • Другая ссылка на «устаревший» связана git reflog --stale-fixс фиксацией 1389d9d (Git 1.5.0) для отслеживания « сломанной фиксации »: фиксация, недоступная ни для одной из ссылок, и среди объектов фиксации, дерева или большого двоичного объекта отсутствует объект. достижимый из него, недоступный ни для одного из ссылок.
    Это помогает исправить ситуацию после запуска без учета рефлогов git pruneиз старого git при наличии рефлогов.

  • Commit 740fdd2 (март 2008 г., Git 1.5.5) также вводит "устаревшие" для символических ссылок, когда ссылка, на которую они указывают, больше не существует.


Как упоминалось @SteelToe: определение устаревшей ветки, согласно документации GitHub , - это ветка, в которой не было никаких коммитов за предыдущие 3 месяца.
Обычно это указывает на старую / неподдерживаемую / не текущую ветку.

VonC
источник
Я видел это, когда продвигался к совершенно новому удаленному источнику, потому что на нем не было ни одной из моих веток (очевидно).
Noumenon
"ветвь удаленного отслеживания" <- когда вы это говорите, я думаю, что вы говорите о ветке, которая существует в удаленном репо, но вы имеете в виду удаленную ветку, которую вы локально отслеживали раньше, но "фактическая ветка удаленного репо ушла", верно?
Дорогая,
@Honey (с опозданием на несколько месяцев) Да, это идея. Я обновил ответ, добавив ссылку, которая показывает, что такое ветка удаленного отслеживания.
VonC
67

Определение устаревшей ветки, согласно документации GitHub, - это ветка, в которой не было никаких коммитов за предыдущие 3 месяца.

Обычно это указывает на старую / неподдерживаемую / не текущую ветку.

Для получения дополнительной информации см. Https://help.github.com/articles/viewing-branches-in-your-repository/.

Стальной подносок
источник
17

Это потому, что нет «точного определения». «Устаревшая ветка git», «устаревшие данные», «устаревшие параметры конфигурации» - ни у одного из них нет точного определения, но все они относятся к тому, что считается старым / не обслуживаемым / устаревшим / возможно неисправным.

Таким образом, «устаревшая ветка git» - это обычно ветвь репозитория, к которой не прикасались долгое время. Может он сломан, а может и нет; это определенно не актуально для активной ветки разработки, и какое-то время на него никто не смотрел.

larsks
источник
12
На github ветки, не обновлявшиеся за последние 3 месяца, считаются устаревшими: help.github.com/articles/viewing-branches-in-your-repository
Людовик Ронсин 01
3

Устаревшая ветка - это ветка, которая неактивна через некоторое время. В Github он устаревает после 3 месяцев бездействия.

Причины, по которым у проектов есть устаревшие ветки: невыпущенные функции, прототип, альтернативное решение, неполное, несовместимое.

читать далее

v.babak
источник