Skip to content

Instantly share code, notes, and snippets.

@CiceroLino
Last active August 28, 2023 02:02
Show Gist options
  • Save CiceroLino/901b9cf6448bb98bba28060762b1c04e to your computer and use it in GitHub Desktop.
Save CiceroLino/901b9cf6448bb98bba28060762b1c04e to your computer and use it in GitHub Desktop.
Fluxo de trabalho com git

Comandos básicos do git

Configuração inicial

git config --global user.name "Nome de Usuário"

git config --global user.email "Email do usuário"

Listando todas as configurações do Git

git config --list

Baixando/clonando repositórios para sua máquina

git clone https://www.github.com/usuario/repositorio_alvo_para_clonar

Agora é só trabalhar no projeto baixado

Trabalhando com branchs

Modelo Linha de comando
Criando uma nova branch git checkout -b exemplo_feature/exemplo_login
Deletar uma branch git branch -d exemplo_feature/exemplo_login
Subindo alterações da branch git push --set-upstream origin main
Ver as branchs no seu repositório local git branch
Mudar para outra branch git checkout exemplo_branch/exemplo
Voltar para a branch principal git checkout master
Atualizar a branch principal git pull origin master

Listando modificações/alterações do repositório que está trabalhando

git status

Adicionando ao stage

git add

Adicionando commits aos arquivos adicionados ao stage

git commit -m "Mensagem"

Enviando alterações para o github

git push

Puxando alterações (versões mais recentes) do github

git pull

Fluxo de trabalho

Exemplos para branchs

Título exemplo de uso explicação
bugfix bugfix/removing-dead-code Como o próprio nome já diz, é um BUG e precisa ser corrigido de forma imediata, o quanto antes. Num outro artigo eu explico melhor a utilização desse cara e branches principais.
feature feature/side-menu O nome já diz também o que é, uma nova feature que será adicionada ao projeto, componente e afins.
hotfix hotfix/update-project Ele é bem similar ao bugfix, porém, ele não é um BUG, mas sim uma correção, seja ela de cor, textos, alterações não tão urgentes, que não signifiquem BUG's.
improvement improvement/home-page O nome já mostra para o que serve. Em si é uma melhoria para algo já existente, seja de performance, de escrita, de layout, etc.

Exemplos para commits

Titulo exemplo de commit explicação
fix fix: home page o nome já diz, serve para você corrigir algum problema
feat feat: pixel effect on login que serve para novas features que você adicionar
docs docs: update readme mais um fácil, para algo relacionado a documentações, README e afins
style style: add more colors mexeu no estilo, CSS? Então usa esse cara
refactor refactor: change typeorm to prisma precisou alterar, melhorar alguma coisa? Então usa esse aqui
perl perl: implement a simple strategy quando você mexer em algo relacionado a performance
test test: relacionado a testes, tanto para o frontend quanto no backend
chore chore: update angular geralmente o mais emblemático. Serve para coisas relacionados a build, configs e afins. Por exemplo, mexeu em algo no package.json? Use esse cara, seja atualizando a versão do pacote ou instalando novas dependências

Gitflow

Gerenciando branchs

-> Aqui supõe que você já tenha conhecimento básico de git, isto é, ser capaz de usar os comandos básicos descritos acima.

Começar uma nova funcionalidade

git flow feature start (nome da branch)

Finalizar uma funcionalidade

git flow feature finish (nome da branch)

Publicar uma funcionalidade

git flow feature publish (nome da branch)

Obter uma funcionalidade publicada

git flow feature pull (nome da branch)

Criar uma versão/release

Criar um branch da versão baseado no branch 'develop'

git flow release start 0.1.0

Publicar o branch da versão depois de criá-lo, para permitir commits por outros desenvolvedores. É semelhante à publicação de uma funcionalidade com o comando:

git flow release publish 0.1.0

Finalizar uma versão

A finalização de uma versão é um dos grandes passos na ramificação/branching do git. Ele executa várias ações:

  • Mescla o branch da versão no 'master'
  • Etiqueta a versão com seu nome
  • Mescla o branch da versão de volta no 'develop'
  • Remove o branch da versão

git flow release finish 0.1.0

Você pode acompanhar uma versão remota com o comando

git flow release track RELEASE

Hotfixes

O argumento version marca o nome do novo hotfix. Opcionalmente, você pode especificar um basename para começar.

git flow hotfix start VERSION [BASENAME]

Ao finalizar um hotfix ele é mesclado tanto no develop quanto no master. Além disso, o merge no master é etiquetado.

git flow hotfix finish VERSION

Referencias

Guia prático de git

Git e Github - Guia rápido

Padrões e nomeclaturas no git

Cheatsheet do Gitflow

Fluxo de trabalho de Gitflow

Como gerenciar branchs - Gitflow

Artigo - Utilizando o gitflow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment