Workflow local do git

Lilian Lima
3 min readJun 12, 2019

O git se organiza em dois ambientes: local (ou desenvolvimento) e remoto, conforme pode ser conferido na imagem abaixo:

O ambiente local contém o trabalho realizado em sua máquina, e é organizado pelo git em 3 áreas: Working Directory, Staging Area e Local Repository. Ao realizar um clone (git clone <url>) do repositório remoto o conteúdo existente é copiado para os diretórios: working directory e local repository.

Já no repositório remoto estão as alterações submetidas por você e as dos demais envolvidos no projeto, as quais você pode puxar para sua máquina (git pull).

Para compreender o workflow de trabalho do git localmente, suponha uma alteração no arquivo pom.xml do projeto, ao executarmos git status obteremos o seguinte resultado:

O arquivo alterado ainda não está sob o gerenciamento do git, porém o arquivo já é apontado como alterado no working directory:

Seguindo a sugestão do git no console, vamos adicionar o arquivo pom.xml para gerenciamento do git:

Com essa adição avisamos ao git quais arquivos pretendemos enviar para o repositório, por debaixo dos panos o git armazena os arquivos como um blob, gera o hash do conteúdo dos arquivos e efetua o mapeamento de “nome do arquivo” e hash num objeto chamado tree object. O git faz essa operação recursivamente até obter ao final o hash do diretório raiz (maiores detalhes vc encontra aqui). Uma vez que todas as alterações foram realizadas vamos envia-la para o repositório local, para tanto execute git commit.

Ao realizar o git commit uma janela do editor de sua preferência é aberta para descrição das alterações contidas no “pacote” de commit, ou vc pode acrescentar a opção –m e inserir a descrição diretamente na linha de comando, exemplo: git commit –m “Mensagem descritiva”. Nesse momento o objeto de commit é gerado e os arquivos promovidos para local repository.

Agora, suas alterações estão em seu repositório local, o que é um bom lugar para se estar desde que ninguém mais precise delas ou você ainda não esteja pronto para compartilhá-las.

Para que suas alterações sejam encaminhadas ao repositório remoto você precisa empurrá-las para lá, para isso execute git push, esse é o estado final de sua alteração ao longo do workflow:

Pronto! Suas alterações foram compartilhadas e estão disponíveis para os demais envolvidos no repositório remoto.

Referência: https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc

--

--