Git para rotinas de desenvolvedor

Nos primeiros passos é comum lidar apenas com repositórios locais com um único branch, usando o Git como uma ferramenta de backup e limitando-se a voltar no tempo usando checkouts para determinados commits em algum ponto no tempo passado.
No processo de trabalho em branch único, não existe preocupação com o trabalho de múltiplos desenvolvedores e o fluxo de commits é pequeno o bastante para ser controlado com um branch central, o branch master. O desenvolvedor não precisa se preocupar em isolar seus trabalhos em branches paralelos nesse caso:

No processo de trabalho em múltiplos branches, funcionalidades e correções são isoladas em branches. Existe a preocupação com o trabalho de múltiplos desenvolvedores e o fluxo de commits é grande o bastante para precisar ser separado com vários branches separados:

Inicialmente, usamos o Git apenas como uma ferramenta simples pra evitar escrever sufixos v1, v2, v3, novo, novo mais novo, recente nos arquivos… Mas vamos descobrindo durante o caminho o verdadeiro poder do Git, que é escrever histórias estruturadas em ramos destinados a compôr o ramo master, além dos comandos que permitem transcender espaço-tempo nas histórias contadas na nossa git-tree.
Um certo dia entendemos por que o Git é a ferramenta mais popular do mundo ao se tratar de trabalho em equipe, independente da linguagem de programação utilizada. Passamos a trabalhar em repositórios privados remotos de plataformas como GitLab e Bitbucket ou mesmo GitHub. Entendemos como é importante ter clareza nos commits e consistência. Aprendemos que conflitos são eventos necessários e que o trabalho de desenvolvimento também está relacionado à resolução constante desses conflitos.
Principais comandos git utilizados na rotina:
Clone | Baixamos um repositório e passamos a visualizar a história por trás de sua construção. O poder de contribuir para a história depende de autorização do administrador desse repositório. |
---|---|
Add | Realizamos algumas mudanças e gostaríamos de atualizar a história. Nesse momento o comando add deve ser utilizado. Especificamos nomes dos arquivos que farão parte do commit ou todos através de um ponto (.). |
Commit | Momento onde etiquetamos a mudança realizada sobre arquivos específicos modificados ou sobre todos (.). Atribuimos uma descrição clara que identifique a mudança feita. Pode ser necessário corrigir um commit anterior, daí se usa a opção --amend |
Reflog | Descrição mais compacta do log, exibe o índice da história |
Checkout | Utilizado para navegar entre os ramos. Pode ainda ser usado junto à opção -b para criar um novo ramo. Usado frequentemente para “viajar no tempo” entre commits mais antigos, para encontrar o ponto de introdução de um bug, por exemplo. |
Reset | É comum precisar apagar os últimos commits. Para essa finalidade, usamos o reset. |
Merge | É comum solicitar um merge do ramo master para atualizar um ramo secundário. |
Rebase | Versão mais inteligente do merge. Permite adicionar os commits do branch atual em cima da árvore. Permite também editar toda a árvore de commits antes de aplicar mudanças. |
Branch | Ramo = branch. Geralmente criamos novos ramos a partir de ramos mais atualizados. |
Fetch | Baixamos histórias atualizadas do repositório remoto/origin, mas não aplicamos diretamente como o merge faz. |
Pull | Junção de fetch + merge. |
Push | Enviamos as alterações para um ramo desejado, após o commit. |
Remote -v | Lista todos os repositórios remotos ativos |
Remote add origin | Adicionamos um repositório remoto chamado “origin” |
Remote rm origin | Removemos um repositório remoto chamado “origin” |
Git em equipes distribuídas
Git é a ferramenta de versionamento mais utilizada no mundo para gerenciar o desenvolvimento de projetos com equipes simultaneamente em projetos de qualquer tamanho.
Milhares de desenvolvedores podem trabalhar ao mesmo tempo utilizando ramos “dev” múltiplos, enquanto acontecem processos de code review.
Novas features e correções passam pelos processos de revisão e as mudanças são testadas, aprovadas e são então aplicadas a um branch (ramo) chamado “produção”.
Quer saber mais sobre como funciona? Fale com um desenvolvedor agora mesmo!O conteudo foi útil? Isso é fantástico. Quer incentivar mais posts como esse? Mostre seu apoio com qualquer valor.
Chave PIX: d0311e58-cb6e-4d47-b3d8-3d4254763ce7
[…] O GitHub trabalha utilizando a ferramenta GIT. Há uma quantidade imensa de comandos disponíveis para operação de repositórios no GitHub. Todos os comandos Git podem ser utilizados. No entanto, compreender apenas uma pequena quantidade deles é suficiente para a operação de rotina. Leia mais em Git para rotinas de desenvolvedor. […]
[…] O GitHub trabalha utilizando a ferramenta GIT. Há uma quantidade imensa de comandos disponíveis para operação de repositórios no GitHub. Todos os comandos Git podem ser utilizados. No entanto, compreender apenas uma pequena quantidade deles é suficiente para a operação de rotina. Leia mais em Git para rotinas de desenvolvedor. […]