Como usar o Git para contribuir com software de código aberto
Você já deve ter ouvido falar sobre Git e código aberto, mas sabe como eles funcionam em conjunto para melhorar o desenvolvimento de software?
Aprender Git é uma habilidade essencial no desenvolvimento de software. A crescente popularidade do software de código aberto levou ao sucesso do Git. Você pode usá-lo para acompanhar contribuições, gerenciar colaboração e hospedar bases de código em repositórios remotos.
Git desempenha um papel vital na maioria dos projetos de código aberto. Descubra qual a relação do Git com o código aberto e como você pode usar esta ferramenta produtiva para aumentar suas contribuições.
A relação entre Git e código aberto
Git é um software de controle de versão amplamente utilizado em desenvolvimento. O Git permite rastrear alterações de software em tempo real, salvar cópias do seu código em repositórios remotos e colaborar online. Dê uma olhada detalhada no Git em nosso tutorial avançado do Git.
Git também é um projeto de código aberto no qual os colaboradores trabalharam para melhorar ao longo do tempo. O software de código aberto geralmente é gratuito para qualquer pessoa usar. O software torna-se de código aberto quando o proprietário concede direitos a qualquer pessoa para usar, alterar e distribuir o código-fonte.
As contribuições de código aberto acontecem de forma pública e colaborativa, também conhecida como “Construindo em Público”. Saiba mais sobre a diferença entre software de código aberto e software de código fechado.
Git possui recursos colaborativos que são essenciais em código aberto. O Git permite que as equipes mantenham projetos de forma colaborativa. Ele permite buscar código, adicionar contribuições em sua máquina local e enviar suas alterações para revisão.
Recursos Git usados em código aberto
O Git possui diversos comandos usados para realizar operações em sua interface. Existem muitos desses comandos, mas você não precisa aprender todos eles para contribuir com o código aberto. Aqui estão alguns termos e comandos básicos que você encontrará:
- Fork: uma cópia de um repositório GitHub (repo). Ao fazer um fork, você recebe uma cópia dele em sua conta GitHub, permitindo editar o conteúdo sem afetar o repositório pai do projeto.
- Problema: uma ideia, bug ou tarefa na qual os colaboradores podem trabalhar. Um problema com um rótulo como bom primeiro problemaé uma tarefa simples destinada a motivar os colaboradores a participarem de projetos de código aberto.
- Rótulo: Usado para categorizar problemas e discussões.
- Mantenedores: Colaboradores com permissão para modificar os arquivos no repositório de um projeto. Eles também são conhecidos como proprietários de código.
- Contribuidores: qualquer pessoa que contribui com código, documentação ou outros recursos técnicos para um projeto.
A seguir estão alguns comandos comuns que você usará no desenvolvimento de código aberto:
- Branch: Uma cópia do conteúdo do repositório. Um repo pode ter vários ramos: o ramo principal e vários outros, se necessário. A ramificação padrão é principal/mestre, e você pode nomear ramificações adicionais de acordo com sua finalidade.
- Mesclar: Mesclar significa unir diferentes ramificações de forma que tenham o mesmo código.
- Pull Request (PR): notifica a manutenção de que você enviou código que precisa ser revisado. Faça uma solicitação pull quando estiver pronto para mesclar com o branch pai e precisar de avaliações de outras pessoas.
- Remoto: versão online do seu repositório local.
- Fetch: baixa o conteúdo de um repositório remoto para seu repositório local.
- Commit: rastreia alterações em um arquivo em um repositório local ou online. Todos os commits possuem um ID exclusivo que registra detalhes sobre o autor, hora e natureza das alterações feitas.
Primeiros passos com código aberto
Neste tutorial, veremos as etapas básicas que você seguirá para fazer sua primeira contribuição para o código aberto. Usaremos Git como repositório local e GitHub como repositório remoto. Aqui está como você começa.
1. Escolha um projeto
Identifique um projeto adequado para contribuir. Suas habilidades e paixão por fazer a diferença determinarão qual projeto você escolherá. Você pode contribuir com um recurso, documentação ou habilidades, como gerenciamento de produtos.
O projeto certo terá uma comunidade ativa em canais sociais como Slack ou Twitter. Seu repositório deve ter contribuições regulares e licenciamento adequado para software de código aberto.
2. Obtenha o Guia do Colaborador
Todo projeto de código aberto respeitável deve ter um guia de contribuidores. O guia contém instruções e orientações para mostrar aos novos desenvolvedores como contribuir para o projeto.
Você aprenderá como fazer um fork, trabalhar em um problema e fazer uma solicitação pull ao repositório upstream para permitir que os mantenedores revisem sua contribuição. Você provavelmente encontrará o guia do contribuidor na pasta raiz do projeto.
O guia para contribuidores ajudará você a entender o fluxo de trabalho do projeto e reduzir conflitos de mesclagem. Se você não seguir essas diretrizes para contribuidores, um mantenedor poderá rejeitar sua solicitação pull.
Aqui está um exemplo de guia para contribuidores do projeto AsyncAPI.
3. Escolha um problema
Um problema pode ser qualquer coisa com a qual você gostaria de contribuir. Pode ser uma solicitação que você identificou na seção de problemas do repositório do projeto, um erro de digitação ou uma documentação que você deseja adicionar ao projeto.
Antes de começar a trabalhar em um problema, primeiro pergunte ou discuta o problemacom os mantenedores. Às vezes, pode ser um problema obsoleto ou no qual outro colaborador já esteja trabalhando. Esta é a aparência da seção de problemas no GitHub:
4. Trabalhe na questão
Depois que os mantenedores aprovarem o problema, você poderá configurar um repositório bifurcado. A bifurcação fornecerá uma cópia do repositório pai para o seu repositório. Você clonará o repositório em sua máquina local com o comando git clone
Você pode abrir a pasta no editor de código de sua preferência e começar a trabalhar. Aqui, é essencial conhecer a sintaxe de linguagens de marcação populares como Markdown, que é popular na maioria dos projetos de código aberto. Se você estiver trabalhando em um problema de documentação, provavelmente usará o Markdown conforme ilustrado abaixo:
5. Envie seu trabalho para revisão
Quando você terminar de trabalhar no problema, siga o fluxo de trabalho do guia do contribuidor para enviar seu trabalho ao GitHub para revisão. Use as etapas a seguir para configurar a bifurcação e enviá-la para revisão.
Conecte seu repositório local ao repositório upstream do projeto usando este comando:
git remote add upstream https://github.com/{original-owner}/{original-repository}.git
-
Use git fetch para baixar o conteúdo do branch upstream para seu branch local:
git branch -u upstream/master master
- Crie um novo branch com git branch
. Você pode verificar se o novo branch foi criado com o comando git branch . - Prepare seu branch com git add
. - Envie seu código para a ramificação do GitHub com git push origin
. - Faça uma solicitação pull(PR). Um PR alerta os mantenedores para revisarem seu branch e sugerirem alterações antes da fusão. Este diagrama resume todo o processo.
6. Revisões e Mesclagem
Depois de enviar o PR, os mantenedores provavelmente irão revisar e sugerir alterações. Você pode fazer alterações locais oucomprometer as alterações propostas no repositório remoto. O GitHub tem uma provisão para confirmarmudanças remotamente.
Durante a avaliação, você receberá feedback sobre sua contribuição e poderá buscar esclarecimentos sobre alguns assuntos. Abaixo está uma ilustração de como você pode confirmar alterações no GitHub:
Quando terminar de fazer alterações, faça novos commits. Commits notificarão os mantenedores para revisarem seu trabalho novamente. Se todas as verificações forem aprovadas, seu PR será rapidamente mesclado. Parabéns! Você acabou de fazer sua primeira contribuição para um projeto de código aberto.
Git aprimora a colaboração de código aberto
Git desempenha um papel essencial nas contribuições de código aberto. O Git permite que projetos grandes e pequenos rastreiem contribuições, gerenciem equipes e hospedem várias versões de códigos-fonte. Sendo ele próprio um projeto de código aberto, o Git melhorou a qualidade e a quantidade de contribuições para software de código aberto.
Sua primeira contribuição de código aberto provavelmente será intimidante, mas será fácil e divertida quando você aprender o fluxo de trabalho. Usar o Git ajudará você a aprimorar suas habilidades de codificação, aprender a colaborar e interagir com as melhores pessoas do setor de tecnologia. Vá em frente e comece!