O que é um ramo git "obsoleto"?

133

Um ramo git "obsoleto" é um termo que ouvi muito. Eu sei que tem algo a ver com ramos que são considerados menos úteis ou inúteis, mas não conseguem encontrar uma definição exata. O que é um ramo git "obsoleto"?

cowlinator
fonte

Respostas:

96

A referência mais antiga para "obsoleto" é encontrada na confirmação e194cd1 (janeiro de 2007, Git 1.5.0), que detectou " desvios de rastreamento obsoletos no controle remoto ": ao rastrear um ramo que foi removido pelo sistema remoto.
Por isso git remote prune.

Essa é a principal definição para ramificação obsoleta: uma ramificação de rastreamento remoto (uma referência local de uma ramificação de reporte remoto) que não rastreia mais nada (porque a ramificação real no repo remoto desapareceu).

git remote show é capaz de listá-los.


Aliás, você tem duas outras definições de "obsoleto" no sistema Git:

  • Outra referência a "obsoleto" envolve git reflog --stale-fixem cometer 1389d9d (Git 1.5.0), para rastreamento " quebrado cometer ": um commit que não é acessível a partir de qualquer um dos árbitros e há um objeto perdido entre os cometem, objetos árvore, ou blob acessível a partir dele que não é acessível a partir de nenhuma das referências.
    Isso ajuda a corrigir a situação após a execução git prunede um git mais antigo sem reconhecimento de reflog na presença de reflogs.

  • O commit 740fdd2 (março de 2008, Git 1.5.5) também apresenta "obsoleto" para referências simbólicas , quando a referência que eles apontam não existe mais.


Conforme mencionado por @SteelToe: A definição de uma ramificação obsoleta, conforme a documentação do GitHub , é uma ramificação que não teve nenhum commit nos 3 meses anteriores.
Isso geralmente indica uma ramificação antiga / não mantida / não atual.

VonC
fonte
Vi isso quando eu estava migrando para uma origem remota totalmente nova, porque não tinha nenhuma das minhas filiais (obviamente).
17176
"um ramo de monitoramento remoto" <- quando você diz isso, isso me faz pensar que você está falando de um ramo que existe no repo remoto, mas o que você quer dizer é um ramo remoto que você localmente monitorados antes, mas "o ramo real no repo remoto desapareceu" certo?
Honey
@ Mel (alguns meses atrasado) Sim, essa é a ideia. Atualizei a resposta para adicionar um link que ilustra o que é um ramo de rastreamento remoto.
VonC 27/02
67

A definição de uma ramificação obsoleta, conforme a documentação do GitHub, é uma ramificação que não teve nenhum commit nos 3 meses anteriores.

Isso geralmente indica uma ramificação antiga / não mantida / não atual.

Para obter mais informações, consulte https://help.github.com/articles/viewing-branches-in-your-repository/

Biqueira de aço
fonte
17

Isso ocorre porque não há "definição exata". "Stale git branch", "stale data", "stale configuration options" - nada disso tem uma definição exata , mas todas se referem a coisas que são consideradas antigas / não mantidas / não atuais / possivelmente quebradas.

Portanto, uma "ramificação antiga do git" geralmente é uma ramificação do repositório que não é tocada há muito tempo. Talvez esteja quebrado, talvez não; certamente não é atual w / r / t para o ramo de desenvolvimento ativo, e ninguém olhou para ele por um tempo.

larsks
fonte
12
No github, ramos não atualizados nos últimos 3 meses são obsoletos considerados: help.github.com/articles/viewing-branches-in-your-repository
Ludovic Ronsin
3

Ramificação obsoleta é uma ramificação sem atividade após algum tempo. No Github, é obsoleto após 3 meses de inatividade.

Razões pelas quais os projetos têm ramificações obsoletas: recursos não lançados, protótipo, solução alternativa, incompleta, incompatível.

consulte Mais informação

v.babak
fonte