19 pontos por GN⁺ 2025-11-27 | 13 comentários | Compartilhar no WhatsApp
  • A partir do Git 3.0, ao criar um novo repositório, a branch padrão será definida automaticamente como main
  • Essa mudança está descrita nas notas de patch do Git 2.52, informando que, no Git 3.0, o comando git init usará main em vez de master
  • A Software Freedom Conservancy anunciou em junho de 2020 o plano de alterar o nome da branch padrão, e o GitHub aplicou essa mudança a partir de outubro do mesmo ano
  • O Git 3.0 ainda não tem data de lançamento definida, mas estima-se que seja lançado no fim de 2026
  • A nova versão incluirá mudanças importantes como migração para hash SHA-256, melhorias no formato de armazenamento e processo de build integrado com Rust

Mudança da branch padrão no Git 3.0

  • A partir do Git 3.0, ao criar um novo repositório, a branch padrão será definida automaticamente como main
    • Os usuários não precisarão mais definir manualmente a branch padrão
  • As notas de patch do Git 2.52 incluem a frase: “A partir do Git 3.0, o comando git init usa ‘main’ como branch inicial em vez de ‘master’”
  • Essa mudança representa uma mudança oficial de direção do projeto Git, substituindo a denominação anterior ‘master’

Contexto e tendências relacionadas

Cronograma de lançamento do Git 3.0

Principais mudanças técnicas do Git 3.0

  • A função de hash padrão mudará de SHA-1 para SHA-256, reforçando a segurança
  • O formato de armazenamento será aprimorado, melhorando desempenho e compatibilidade em ambientes macOS e Windows
  • A linguagem Rust será oficialmente integrada ao processo de build do Git, com previsão de melhorar a qualidade do código e a manutenibilidade

13 comentários

 
3ae3ae 2025-11-27

Independentemente da polêmica de "politicamente correto", foi uma boa que tenha ficado alinhado com o GitHub.
Como o GitHub não vai voltar de main para master...

 
wedding 2025-11-27

Eu ia fazer uma piada dizendo que, como man também é inconveniente, deveríamos mudar para doc, mas já comentaram isso no HN kkk

 
GN⁺ 2025-11-27
Comentários do Hacker News
  • Sinceramente, pessoalmente não me importo, mas neste ponto “master” já praticamente acabou

    • Alguns desenvolvedores sêniores também queriam a mudança de nome
    • De qualquer forma, “main” já se estabeleceu como padrão, então é hora de simplesmente seguir em frente
    • Algumas pessoas acharam que essa mudança foi um desperdício de recursos de engenharia
      • Argumentaram que a indústria do cinema ainda usa o termo “mastering” e que não haveria motivo para mudar
      • Consideraram que essa censura de palavras aumenta a divisão social
    • Outra pessoa disse que é só uma questão de valor padrão
      • Ainda é possível definir init.defaultBranch = master
      • Acharam que a palavra “master” soa legal, enquanto “main” parece sem graça
    • Outra pessoa disse que não liga para o nome em si, desde que haja consistência
      • Depois que o GitHub mudou a branch padrão, alguns scripts quebraram e isso foi inconveniente por um tempo, mas agora já foi resolvido
    • Uma pessoa aconselhou simplesmente ignorar toda essa controvérsia com o comando git config --global init.defaultBranch master
  • Fiquei me perguntando por que “master” era a branch padrão e por que isso mudou no 3.0

    • Se o motivo for a história da escravidão nos EUA, parece estranho que o resto do mundo tenha de carregar esse problema
    • Houve preocupação com até onde esse tipo de limpeza excessiva da linguagem pode chegar
    • Em resposta, houve a explicação de que o Git herdou o nome da estrutura master/slave do BitKeeper
      • O Git não usava literalmente o conceito de “slave branch”, mas a origem do termo permaneceu
      • Também foi apresentada a opinião de que a escravidão não foi um problema exclusivo dos EUA, mas um fenômeno global
  • Eu prefiro deixar a branch padrão como develop e depois criar uma ramificação para release

    • A sensação é de que o conceito de “branch central” não combina com a estrutura do Git
    • À medida que a discussão esquentava, alguém relembrou a diretriz do HN sobre a necessidade de uma discussão produtiva
    • Alguém comentou que, antigamente, no SVN, a branch padrão era trunk
    • Outra pessoa concordou que, em repositórios ativos, nomes explícitos são melhores do que uma branch mágica como “master”
    • Acrescentaram que existem várias formas de usar controle de versão no Git, então não existe uma única resposta certa
  • Surgiu uma piada de que, no trabalho, até o comando “man” estaria sendo questionado por não ser inclusivo

    • Em seguida, explicaram que “man” originalmente tem uma etimologia neutra em relação a gênero
    • Outra pessoa apontou que esse tipo de discussão nasce da falta de compreensão de contexto
    • Alguém satirizou perguntando se então “hash” também deveria ser proibido por lembrar drogas
    • Houve também a resposta “não vamos dar essas ideias”
    • Por outro lado, apareceu uma opinião mais moderada: “se não custa nada e faz as pessoas se sentirem melhor, por que ser contra?”
  • Surgiu a pergunta: por que “Scrum Master” não foi mudado?

    • Alguém brincou dizendo que vai chamar de “Scrum Main”
    • Outra pessoa explicou que Scrum Master não se originou do conceito master/slave
    • Em algumas empresas, usam no lugar o título de “Agile Champion
    • Outra pessoa brincou: “então também vão mudar o mestrado (MSc)?”
  • Houve quem criticasse essa mudança como um ato de rendição a ideologias políticas

    • Em resposta, disseram: “talvez seja só uma tentativa de ser gentil; nem tudo é guerra”
  • Foi mencionado que o Mercurial já usava “default” como nome da branch padrão desde o começo

  • Alguém argumentou que “master” é um termo inadequado para a estrutura distribuída do Git e que, tecnicamente, a mudança também faz sentido

  • Também houve quem dissesse que “a pessoa mais intolerante venceu de novo” e que continuaria usando “master”

  • Em seus próprios projetos, uma pessoa disse que sempre usa develop como branch padrão e espera que essa discussão chegue ao fim

 
sudosudo 2025-11-28

Parece ser uma boa decisão.

 
dalinaum 2025-11-27

Foi uma decisão correta.

 
joyfui 2025-11-27

Sinceramente, acho que o motivo é meio absurdo, mas enfim dou as boas-vindas à mudança de 6 para 4 letras por esse motivo trivial.

 
vndk2234 2025-11-27

Se for assim, o que era pra fazer com orphan...

 
t7vonn 2025-11-28

No Git 4.0, usa-se o termo parentally-independent em vez de orphan

 
dongho42 2025-11-28

🤣

 
hpark 2025-11-27

Parece ser uma mudança alinhada aos tempos atuais.

 
aqqnucs 2025-11-27

Realmente estão desperdiçando energia com algo totalmente inútil.

 
skageektp 2025-11-27

Que relação tem o fato de ter existido escravidão com master e slave?

 
lazyhack 2025-11-27

A versão de TI de dakbokkeumtang