Árvore de páginas

  • Sobre o desenvolvimento em si, contempla-se o seguinte cenário:
    • os requisitos da funcionalidade em questão foram refinados e cada desenvolvedor tem conhecimento do que será implementado.
  • Com base nisso, cria-se uma nova branch a partir da development, com algum nome relacionado a funcionalidade especificada.
  • Cada desenvolvedor que for atuar em uma mesma branch precisará sincronizar os arquivos e códigos que estiver modificando ou adicionando.
  • Para isso o Git fornece recursos como o commit, o push e o pull.
    • O commit permite que o desenvolvedor adicione suas alterações do repositório local em uma espécie de “pacote”, pronto para ser enviado para o repositório remoto, onde outros desenvolvedores terão acesso a essas alterações.
    • O envio é feito pelo push, onde se “empurra” as alterações feitas localmente para o repositório remoto. O push também sobe a branch para este repositório, permitindo que outros desenvolvedores também trabalhem nela.
    • Para baixar as alterações feitas no repositório remoto o Git oferece o comando pull, que sincroniza os arquivos locais com as novas alterações da branch feitas no repositório remoto.
  • Contudo, caso alguma alteração local fora feita em um arquivo que foi empurrado anteriormente para o repositório remoto, ao baixar esse arquivo ocorrerá um conflito de merge (mesclagem). Em outras palavras, não será possível sincronizar os arquivos até que seja feita uma mesclagem manual dos mesmos, onde se confere “linha por linha” dos 3 arquivos (o local do desenvolvedor, o que foi baixado remotamente e o final, contendo o resultado da mesclagem) e se define quais alterações serão mantidas ou realocadas em outra posição do arquivo.
  • Sempre que um novo push for feito, o pull deve ser repetido pelos demais desenvolvedores. Geralmente se sobe as alterações feitas no dia ou em um mesmo expediente, dependendo de caso para caso. Por isso é importante que haja uma boa comunicação entre o time.
  • Ademais, o fluxo de desenvolvimento segue até que se finalize o incremento ou funcionalidade em questão.
  • Sem rótulos