Removendo o termo Master de seu projeto no GitHub

Daniel Zanzini
Goiabada
Published in
4 min readJul 6, 2020

--

Devido à onda de protestos nos EUA e em todo mundo contra o racismo, muitas pessoas passaram a se perguntar onde e como ele se manifesta em suas vidas.

A resposta pra isso é simples: em todo lugar. E em nossos projetos digitais não seria diferente.

O Git, um dos sistemas de controle de versão mais populares do mundo, utiliza como padrão o termo master para identificar a versão principal do projeto. Este termo vem de uma metáfora extremamente opressiva: Master-Slave, que significa Mestre-Escravo.

Existem diversas razões para abolir o uso dessa metáfora de nossos projetos digitais e, em 2018, a Internet Engineering Task Force (IETF) lançou um documento que fala sobre os males de terminologias opressoras em projetos digitais, por que elas não devem ser utilizadas e sugere termos para substituir essas terminologias.

Além disso, muitas comunidades e empresas vêm abolindo o uso de termos racistas como Master, Slave, Blacklist e Whitelist de seus projetos e os substituindo por termos não opressores e de igual entendimento: Primary, Secondary, DenyList e AllowList. 👏 🎉

Um pequeno gesto que está em nossas mãos é remover o termo master de nossos projetos no GitHub, dessa forma, além de demonstrar apoio, você influencia outras pessoas a seguirem o mesmo caminho.

Como fazer isso?

Embora a master seja a branch principal de seu projeto, renomeá-la não é complicado. Mas lembre-se: sincronize essa ação com colegas de trabalho. Esta branch é utilizada por todos as pessoas participantes do projeto e alterar seu nome sem um aviso prévio pode (e vai) causar problemas.

Avisou pra todo mundo? Todo mundo de acordo? Então vamos:

Escolha um novo nome

Existem várias opções possíveis: default, primary, trunk, etc. Eu gosto de main pois, como citado por Scott Hanselman, utilizando este nome você ainda tem a vantagem de que este termo também começa com ma, então a memória muscular de digitar ma e apertar Tab para auto-completar ainda funciona.

Crie uma nova branch

Faça isso a partir da master e, depois, faça o push para o repositório:

$ git branch --move master main
$ git push -u origin main

Modifique a branch padrão no GitHub

Fazendo isso, a tela inicial do repositório, todos os novos Pull Requests e qualquer outra ação que aponte para uma branch, serão apontados para a main, a não ser que você especifique o contrário. Para fazer isso, vá até seu repositório no GitHub, em Settings → Branches. Na opção Default branch escolha main e aperte Update.

Faça a modificação em serviços que dependem do nome da branch

Se você utiliza alguma regra ou action no GitHub, algum serviço de CI/CD, pipelines ou qualquer outro que dependa do nome da branch para funcionar, você deve modificar a branch para a qual o serviço aponta. Não é provável, mas fique de olho em qualquer problema que possa aparecer após a mudança.

Peça a todos para sincronizar

Todas as pessoas trabalhando no repositório terão que aplicar as modificações em sua cópia local. Para criar uma nova branch referenciando a nova main basta rodar $ git branch -u origin/main.

Apague a branch master

Se estiver trabalhando com várias pessoas, não tenha pressa para fazer isso. Sincronize com todo mundo e quando estiver pronto para apagar a master, utilize $ git branch -D master se quiser apagá-la apenas localmente. Para apagar a branch remota, você pode fazer pela interface do GitHub ou utilizar $ git push origin --delete master.

E é isso, a partir de agora seu repositório possui uma branch principal que não faz referência e nem normaliza a estrutura social de um período sombrio de nossa história.

Não pare por aí

Há muito mais a ser feito e isto não é algo que tenha fim. Estamos inseridos em uma sociedade opressora e, mesmo sem perceber, utilizamos termos e expressões que normalizam e reforçam essa condição.

É necessário prestar atenção constante nos termos utilizados em nossos projetos. No documento proposto pela IETF, há um sumário de recomendações que ajudam a não utilizar termos opressores, entre elas:

  • Reflita antes de usar metáforas;
  • Use gênero neutro;
  • Leve isso em consideração em processos de revisão.

E é assim, através de pequenas ações, que podemos fazer nossa parte na construção de um mundo (real e digital) melhor e mais inclusivo para todas as pessoas.

Não são somente palavras

Ao refletir sobre os termos usados em nossos projetos, aprendemos sobre a origem dessas expressões e os impactos que elas causam nas pessoas e na sociedade. Apenas parar de usá-las não é suficiente: devemos agir de maneira a não propagar essas opressões.

Para nos ajudar a trilhar esse caminho, estamos usando o Pequeno Manual Antirracista, de Djamila Ribeiro, como tema de debate para o nosso próximo clube de leitura aqui na Guava. Leia você também!

--

--

Daniel Zanzini
Goiabada

Developer @ Guava Software. Passionate about Pão de Queijo. From Minas Gerais. Star Wars fan. Constantly happy, listening The Doors and drinking beer.