anúncios

terça-feira, 23 de junho de 2020

Guia de sobrevivência do GIT e Git Flow

GIT

Primeiro é necessário ressaltar a diferença entre GIT e Github, Bitbucket, Gitlab.

O GIT é o sistema de controle de versão e o Github, Bitbucket, Gitlab, são plataformas para hospedar projetos de desenvolvimento por meio de repositório público ou privado, que usa o GIT como base.

Escolhendo a plataforma que irá hospedar o seu projeto no repositório remoto, crie uma conta, se ainda não tiver, gera o par de chaves privada e pública, adicione a chave pública no seu perfil da plataforma escolhida, crie um repositório e por fim o primeiro commit. Calma, que irei explicar cada item passo a passo.

Nesse artigo é explicado no Github por ser mais popular na comunidade opensource.

1. Acesse https://github.com , crie uma conta se ainda não tiver.

2. Gere um par de chaves privada e pública com SSH.

No Windows 10, com o GitBash que emula o terminal Bash do Linux, pode gerar o par de chaves privada e pública, usando o mesmo comando utilizado no Linux (qualquer distro).

$ ssh-keygen

Responda as perguntas que é solicitado, no final são gerados par de chaves privada e pública no arquivo oculto do seu usuário.

chave pública: ~/.ssh/id_rsa.pub
chave privada: ~/.ssh/id_rsa

3. Copiar o conteúdo do arquivo ~/.ssh/id_rsa.pub na configuração do perfil na plataforma escolhida, no caso do Github é https://github.com/settings/keys

$ cat ~/.ssh/id_rsa.pub

4. Colar o conteúdo no campo Key e defina um nome no campo Title, como por exemplo: máquina-casa, máquina-empresa.

Ao salvar, confirma com sua senha da conta.

5. Crie um repositório ao clicar em "+" > "New Repository"

6. Define um nome para o repositório em "Repository name"

7. Marque "Public" ou "Private" conforme a sua escolha do repositório de domínio público ou privado.

8. Clique no botão "Create repository"

9. Agora na sua máquina, crie um diretório para o projeto se não existir ou pode utilizar o diretório existente do seu projeto, adicione o repositório remoto.

10. Acesse o diretório do projeto e segue:

Apenas na primeira vez, execute o comando git init para inicializar o repositório local do Git. O próximo passo é adicionar o repositório remoto correspondente a alguma plataforma Github, Bitbucket, Gitlab ou outro servidor no modo Git Bare . Nesse artigo é utilizado o Github.

11. Adicionando o repositório remoto

É possível adicionar o repositório remoto de duas formas: protocolo https ou ssh. A diferença é que usando o protocolo ssh e com a chave pública adicionada no perfil do Github/Bitbucket/Gitlab ao fazer o push não é solicitado a senha, porém conforme foi gerado o par de chaves privada e pública, uma das perguntas é uma senha secreta corresponde a chave, isso é opcional, o default é sem, mas se caso criou, será solicitado essa senha secreta, ok?

$ git remote add origin git@github.com:< SEU-USERNAME >/< SEU-REPOSITORIO >.git

Inicializa o repositório local no diretório do projeto.

$ git init

12. Adicionando informações nome, e-mail, coloque com suas informações

$ git config --global user.name "Nome completo"
$ git config --global user.email nome.sobrenome@dominio.com

13. Adicionar os arquivos na fila de commit

$ git add .

14. Commit com comentário, se for o primeiro commit, é tradicional colocar "first commit", mas pode colocar qualquer comentário, nos demais commits é interessante colocar comentário relevantes sobre o que foi feito

$ git commit -m "first commit"

15. Enviar os arquivos para o repositório remoto

$ git push origin master

Git Flow

Manter as branches master e develop como principais no repositório do projeto, a branch master é de produção e a branch develop é que estar em desenvolvimento.

As features novas do projeto são issues publicadas no repositório, então cria-se uma branch com o id da issue a partir da branch develop sempre atualizada.

Na prática, fica assim:

Fluxo de Git-Flow

$ git checkout develop
$ git pull origin develop
$ git checkout -b < id-issue >

Faz a codificação na branch da issue e ao terminar, faz o commit e push nessa branch. Em seguida, faz o Pull Request da branch da issue para branch develop e outro desenvolvedor faz o Code Review do que foi feito e estando OK, faz o merge para develop.

git add .
git commit -m "comentário resumido do que foi feito na issue"
git push origin

No final da Sprint que geralmente é de uma ou duas semanas e após testado e OK na develop, faz o merge da branch develop para master.

Segue o fluxo na próxima issue.

Pronto, por meio deste artigo foi possível aprender sobre o Git, plataformas Github, Bitbucket, Gitlab e o fluxo de desenvolvimento utilizando o Git Flow.

Feito!

Um comentário:

  1. Excelente artigo com explicação direta e objetiva sobre Git e Git Flow,além das diferenças entre Git x Github, Bitbucket, Gitlab. Só complementando que existem outras plataformas de serviço para repositório remoto, como: AWS CodeCommit, Source Code (Google Cloud) e Azure DevOps.

    ResponderExcluir