Este arquivo mostra informações mais detalhadas sobre como utilizar e modificar o código nos padrões estabelecidos pelo grupo.
Instale o git via link
Após instalado, faça as configurações de ssh seguindo a documentação..
-
Gere uma chave SSH:
ssh-keygen -t ed25519 -C "[email protected]" # Pressione Enter para todas as perguntas
-
Copie a chave pública
# Copie a chave cat ~/.ssh/id_ed25519.pub
-
Cole a chave pública em: GitHub SSH Keys
Então, configure no terminal
# Configurar seu nome no git
git config --global user.name "Seu nome aqui"
#Configurar seu email no git
git config --global user.mail "[email protected]"
# Estes comandos para evitar conflitos nas mensagens de commit.
git config --global core.autocrlf input # Linux/Mac
git config --global core.autocrlf true # Windows
# Clonar o repositório
git clone [email protected]:usuario/repositorio.git
# Antes de iniciar qualquer alteração
git pull origin main #Assim você estará trabalhando com a versão mais atualizada
Estes comandos devem ser executados sempre que o código for ser iniciado no dia, para evitar conflitos futuros.
git status #Verifica qual branch você está no momento.
git checkout main #Volta para branch main, se não estiver nela.
git pull origin main #Baixa as atualizações do github
Para criar nova branch, sempre a partir da main.
git checkout main
git pull origin main
#Este comando faz a troca para uma branch, e a flag "-b" cria a branch nova
git checkout -b nome-da-branch
Para fazer commits (LEMBRE DO PADRÃO AQUI)
git add nomedoarquivo.c
git commit -m "Mensagem do commit aqui"
#Lembre de seguir o padrão estabelecido!
#Quando é o primeiro commit da branch
git push --set-upstream origin nome-da-branch
# Quando a branch já existe no github
git push
### Exemplos de Commits
| Tipo | Funcionalidade |
|----------|--------------------------------------------------------------------------------------------------------|
| feat | `feat:` adicionar novos recursos |
| fix | `fix:` solucionar problemas no código (bug fix) |
| docs | `docs:` mudança na documentação (Readme). Não inclui mudanças no código |
| chore | `chore:` atualizar tarefas na build (ex.: adicionar algo no .gitignore). Não inclui mudanças no código |
|----------|--------------------------------------------------------------------------------------------------------|
Fluxo Ideal de Trabalho:
- git pull origin main
- git checkout -b nova-feature
- Desenvolver + commits
- git push --set-upstream origin nova-feature
- Criar PR no GitHub
- Revisão + Merge
Ao submeter uma alteração, lembre de fazer os testes antes de criar o Pull Request. Faça a requisição para todos fazerem o review do código, marcando todos do projeto. (Esta parte é em Reviewers, ao lado do PR.) Adicione você, como responsável por aquele PR, em assignee Coloque uma descrição do que você realizou e descreva o máximo possível da lógica utilizada para facilitar o trabalho de quem vai fazer o code review. Lembrem-se de não ficarem chateados com possíveis request changes (pedido de mudança), estamos nos formando para sermos profissionais, e correções são muito comuns no mercado de trabalho e no meio acadêmico. Vamos buscar estabelecer um bom projeto com padrões de código, commit e aprender a usar bem o github, pois vai ser muito útil para o nosso futuro.
Adicione também labels à sua PR para ficar mais fácil o code review.
Não é obrigatório usar o VSCode, mas é recomendado, pois boa parte dos integrantes vão utilizá-lo, então é mais fácil se todos usarem a mesma ferramenta. Mesmo assim, caso prefira usar uma outra IDE, certifique dela ter a extensão abaixo, EditorConfig, ou então configure a sua IDE para manter o padrão estabelecido. Quaisquer dúvidas não devem ser deixadas de lado e podem criar uma issue (preferível) ou enviar mensagem para algum dos veteranos. Dê preferência a criar uma issue
Tenha a extensão EditorConfig for VS Code (EditorConfig) instalada.
- C/C++ (Microsoft): IntelliSense e debug para C.
- C/C++ (Microsoft) / C/C++ Extension Pack (Microsoft): Autocompletar, debug e suporte avançado para C/C++.
- CMake/CMake Tools (Microsoft): Suporte para autocompletar e gerenciamento de projetos CMake.
- clangd (llvm): Alternativa para as extensões acima, recomendado para sistemas MacOs. As extensões de C/C++ providas pela Microsoft tendem a ser mais lentas no sistema da Apple, por isso o clangd é recomendado.
- C/C++ Compile Run (danielpinto8zz6): Botão para compilar e executar projetos em C diretamente na interface.
- Error Lens (Alexander): Destaca erros na linha inteira
- CodeLLDB (Vadim Chugunov): Debugger nativo do VS Code - e que funciona em C.
- Code Spell Checker (Street Side Software): Verificação ortográfica em comentários e textos.
- Portuguese - Code Spell Checker (Street Side Software): Dicionário em português para o Spell Checker.
- GitLens (GitKraken): Histórico de alterações, blame e insights sobre o código.
- Easy Code Snap (Arthur Lobo): Tire screenshots estilizadas do código para compartilhar.
- WakaTime (WakaTime): Mede o tempo gasto no projeto (útil para métricas de produtividade).
- Discord Presence (Crawl): Mostra no Discord o que você está codificando.
- C/C++ Themes (Microsoft): Tema para o VS Code em C