image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Joyce Fuxe
Joyce Fuxe10/01/2024 10:38
Compartilhe

Contribuição Open Source: Resumo + Possíveis Erros + Adicionais 👩🏾‍💻

    Oii povo, estou aqui de novo para compartilhar o meu resumo sobre o que aprendi nesse curso. Estou escrevendo este artigo para documentar o meu progresso, reforçar o meu próprio aprendizado e contribuir para uma comunidade de aprendizado mútuo.

    (Artigo postado no fórum do bootcamp Potência Tech iFood)

    Deixa o seu comentário se esse artigo for útil para você 😉

    Ah, e não poderia deixar de agradecer a todos que reagiram ao outro artigo. Muito obrigada mesmo! Os comentários de vocês me deixaram muito feliz, feliz por aquele artigo ter ajudado vcs. Todo o trabalho valeu a pena. Sempre que eu estiver me deixando vencer pela procrastinação vou reler os comentários de vocês para manter o foco (até porque não posso me dar ao luxo de ficar adiando terminar o curso, já que o bootcamp está acabando). Muito obrigada😄

    Agora, sem mais delongas, vamos para o conteúdo!

    Objetivo do Artigo:

    • Entender o objetivo do projeto;
    • Entender porque fazer a contribuição; 
    • Passo a passo de como fazer a contribuição; 
    • Correção de possíveis erros;
    • Sugestões adicionais.

    Tópico 1: Objetivo do desafio

     A importância de fazer o desafio de projeto 

    É importante que a gente faça a contribuição porque assim colocaremos em prática os conhecimentos aprendidos nas aulas de Versionamento de Código com Git e GitHub, sem contar que podemos usá-la como portfólio. Podemos colocar no github e mostrar o que já sabemos e destacar a nossa capacidade técnica.

    O que é Open Source? Qual é o objetivo do projeto?

    Open source (ou código aberto) refere-se a um tipo de software que o código-fonte é disponibilizado publicamente. Isso significa que qualquer pessoa pode ver, modificar e distribuir o código. O oposto seria o software "closed source" (código fechado), onde o código-fonte não está disponível para o público.

    Esse modelo de desenvolvimento aberto promove a transparência, inovação colaborativa e a criação de comunidades ao redor do software. Exemplos famosos de projetos de código aberto incluem o sistema operacional Linux, o navegador Firefox e o servidor web Apache.

    Objetivo do projeto

    O objetivo do projeto é dar um fork (fazer uma cópia) do repositório da DIO e criar um arquivo Readme em linguagem Markdown.

    Você pode editar um arquivo em Markdown no próprio Github, no Visual Studio Code ou no Readme.so. Escolha o que for mais prático para você. Nesse artigo darei o passo a passo de como fazer o Readme pelo Terminal usando o bloco de notas (assim como a Eli fez).

    Readme

    Para que serve o Readme?

    O arquivo README é um componente essencial em muitos repositórios de projetos, especialmente no GitHub. Então leia o Readme desse projeto para se inteirar do que se trata e saber o que fazer.

    De forma resumida serve para:

    • Fornece uma visão geral rápida do que é o projeto. 
    • Dar instruções sobre o projeto. 
    • Geralmente, informa sobre a licença do projeto, indicando como outros podem usar, modificar e distribuir o código.
    O que colocar no meu Readme?

    Desenvolva o seu perfil. Veja os Readmes de outros perfis para se inspirar, mas tem que ser algo que você tenha feito, tem que ter o seu toque, use a sua criatividade. Adicione alguns utilitários.

    Tópico 2: Desenvolvendo e Enviando uma Contribuição:

    Agora faremos uma cópia do repositório da DIO, clonaremos o repositório para a nossa máquina, faremos as modificações, o envio e sincronizaremos o repositório local, remoto e o repositório original.

    OBS: Pode ser um pouco difícil de assimilar algumas instruções deste conteúdo, visto que ele é um passo a passo escrito e não visual. Mas vai dar tudo certo!

    Passo a passo

    Fork do Repositório:

    Clique no botão "Fork" no repositório da dio;

    (Precisa criar cópia porque não temos autorização para fazer alterações diretamente no repositório original da conta DIO)

    Clone para a Sua Máquina:

    - Clique em "Code," depois em "SSH" e copie o link SSH;

    - Agora, no Explorador de Arquivos, clique com o botão direito na pasta DIO ou pasta onde guardara os arquivos do projeto, em seguida clique em Open Git Bash Here.

    - No terminal digite: 

    $ git clone [link SSH] 

    Pronto! Um clone do repositório foi criado na sua máquina.

    Conectando os Repositórios

     Antes de fazer alterações, devemos conectar o repositório local com o original da DIO, assim ele ficará atualizado.

    No terminal, use:

    bash
    
    $ cd [nome_da_pasta] 
    $ git remote add upstream [link do repositório original] 
    $ git remote -v 
    $ git pull upstream main
    

    Outra forma de Sincronizar o Repositório Local com o Remoto

    No Github clicar no Sync Fork (assim atualizará a branch com base na original). Fazendo dessa forma, é só digitar ‘$ git pull origin main’ no terminal ao invés de referenciar o Upstream.

    Depois de tudo atualizado e sincronizado, já podemos começar a fazer as alterações.

    Fazendo as suas Alterações

    Agora que você já copiou o repositório da DIO, já fez o clone do repositório para a sua máquina e preparou a área de trabalho, já pode começar a fazer o arquivo Readme em Markdown.

    Crie uma Nova Branch:

    $ git checkout -b feat/community/nome_de_usuario

    Criando o arquivo Readme 

    Obs: Se você tiver muita dificuldade em fazer o Readme pelo terminal, talvez seja melhor editar no GitHub.

    Se você quer ver a Sintaxe básica de MD clique aqui.

    Criando Pelo Terminal

    Digite: $ touch community/nomedeusuario.md

    • No explorador, vá para a pasta community e abra o arquivo MD criado com o nome de usuário no bloco de notas;
    • Agora, acesse o site Readme.so, nele você pode criar,editar e visualizar as alterações em tempo real do readme. Depois é só copiar essas informações do site, e colar no bloco de notas.

    Após fazer o readme, salve as alterações em um commit e envie para o repositório remoto.

    Salvando as alterações

    bash
    
    $ git status 
    $ git add community/seu_nome.md 
    $ git status 
    $ git commit -m "feat: adicionar perfil de [seu_nome]" 
    $ git push origin feat/community/seu_nome
    

    Depois disso faça o Pull request no GitHub.

    Fazendo o Pull Request

    Agora você vai abrir um Pull Request para solicitar que as alterações feitas na branch feat/community/nomedeusuario seja mesclada na branch main do repositório original.

    • No GitHub, clique em "Create Pull Request";
    • Faça as alterações necessárias;
    • Clique em "Create Pull Request" novamente.

    Se não houver nenhum conflito, a sua contribuição será automaticamente mesclada ao repositório original. Depois copie o link da contribuição e envie para concluir o desafio de projetos. Se houver algum conflito veja o próximo tópico.

    Tópico 3: Possíveis Erros e Soluções

    Quando tentei enviar o meu Pull Request deu erro, a minha contribuição não estava sendo adicionada a pasta community. Repeti várias vezes, tentei refazer os passos e ver onde eu errei, mas mesmo assim não resolvia. Quando eu estava quase excluindo todo o projeto para refazer tudo de novo, resolvi ver o último vídeo do curso (Ah seu tivesse visto antes...) e percebi que no meu caso, a solução era muito simples. O meu deu erro porque coloquei o nome de usuário com letras minúsculas, mas o meu nome de usuário tem letras maiúsculas e minúsculas, era essa simples correção que teria que fazer. 

    Pode ser que em alguns casos o problema seja mais complexo, então é melhor pedir um suporte para eles. Mas acredito que a maioria deva conseguir resolver sozinho.

    O erro talvez esteja na:

    Nomenclatura de Usuário:

    Alguns projetos podem exigir que o nome do arquivo ou diretório relacionado ao usuário siga uma convenção específica. Pode ser necessário usar seu nome de usuário exatamente como está registrado no GitHub, incluindo maiúsculas e minúsculas corretas.

    Pasta de Destino:

    Alguns projetos têm uma estrutura específica de diretórios e esperam que contribuições sejam feitas em pastas específicas. Certifique-se de que o Readme esteja no local certo - a pasta community, conforme indicado nas orientações do projeto.

    Se nada der certo, consulte a documentação do projeto ou entre em contato com os mantenedores para obter informações específicas sobre como lidar com a contribuição e resolver o erro.

    Tópico 4: Entendendo alguns termos

    Pull Request

    Um pull request é uma proposta de mudança. Ele notifica os mantenedores do projeto que você fez alterações em sua branch e deseja que essas alterações sejam revisadas e mescladas.

    Staging Area

    A staging area, também conhecida como área de preparação, é uma etapa intermediária entre o diretório de trabalho e o repositório. Nela, você seleciona e prepara as alterações que deseja incluir no próximo commit.

    Feat

    Feat é uma abreviação de "feature" (recurso, em inglês). É frequentemente usado nos commits para indicar que uma nova funcionalidade foi adicionada.

    Issues

    Issues são registros no GitHub usados para rastrear tarefas, bugs, solicitações de novos recursos e discussões abertas. Elas fornecem um meio de colaboração e organização no desenvolvimento do projeto.

    As Issues são públicas por padrão. Elas podem ser visualizadas por qualquer pessoa, permitindo uma comunicação transparente na comunidade de desenvolvimento.

    Tópico 5: Conclusão e Adicionais

    ADICIONAIS

     Quando for possível, faça o curso de Linux para entender melhor o terminal e alguns comandos. Recomendo o curso do Gustavo Guanabara: Curso de Linux - Primeiros passos (Curso em Vídeo) 

    Artigo: Como fazer um README.md BONITÃO

    Espero que esse resumo tenha te ajudado. Caso eu tenha esquecido algo ou cometido algum erro, relevem. Não deixe de assistir todos os vídeos do curso (principalmente o último se estiver dando algum erro no seu projeto) e veja o material de apoio.

    Se você quiser acrescentar algo ou então se você gostou do artigo, pode deixar um comentário 😊

    Não esqueçe de se conectar comigo!

    Minhas redes

    CodeKiami by Joyce • Instagram 

    Joyce Fuxe | LinkedIn 

    JoyceFuxe (github.com)

    Compartilhe
    Comentários (2)
    Joyce Fuxe
    Joyce Fuxe - 10/01/2024 11:39

    Obrigada Diogo!!

    Diogo Dantas
    Diogo Dantas - 10/01/2024 11:08

    Gostei do artigo, muito útil!