
Versionando projetos com o Git
Configurando o Git
Antes de iniciar o uso do Git faça as seguintes configurações:
git config --global user.name "Nome Completo"
git config --global user.email "nome.sobrenome@gmail.com"
Crie seu repositório no Git Hub
Crie uma conta ou realize login no site do Git Hub.
Agora crie um novo repositório clicando no botão New
.
Clonar um repositório
Para criar um clone
do seu repositório utilize o comando a seguir, substituindo pelo endereço do seu repositório:
git clone https://github.com/marcoaugustoandrade/curso-de-git.git
Fluxo de trabalho
Há 3 locais dentro do seu repositório nomeados da seguinte forma: 1) Working directory: contém os arquivos do repositório 2) Stage: área temporária para controlar quais arquivos vão para o commit 3) Head: aponta para o último commit
Verificando o status do repositório
Sempre é possível, e necessário, verificar o status do repositório com o seguinte comando:
git status
Propondo mudanças
Para adicionar algum arquivo ao stage
, ou seja, propor mudanças, utilize o comando:
git add nome-do-arquivo
Alternativamente utilize o comando a seguir para colocar todos os arquivos do projeto no stage:
git add .
Para remover um arquivo da área de stage utilize o comando:
git reset HEAD -- nome-do-arquivo
Confirmando as mudanças
Para de fato gravar as mudanças, ou seja, realizar os commits, utilize o comando:
git commit -m "Comentários sobre o as alterações"
Assim, os arquivos foram para o head.
Se após gravar as mudanças você realizar alterações nos arquivos e deseja-las descarta-las, ou seja, voltar os arquivos ao último commit utilize o comando:
git checkout -- nome-do-arquivo
Com o comando a seguir é possível listar todos os commits realizados. Observe que os commits são listados a partir do mais recente, e que cada commit é identificado por um número hexadecimal:
git log
git log --stat
A opção --stat
mostra mais informações, como a quantidade de inserções e remoções dos arquivos contidos no commit.
Para mostrar os commits de forma resumida utilize algum dos seguintes comandos:
git log --oneline
git log --oneline --stat
Revertendo um commit: voltando a um determinando commit
Também é possível voltar a um determinado commmit. É importante destacar que os commits entre o commit atual e o commit que será retornado serão descartados. O número apresentado no comando corresponde aos 4 primeiros dígitos do hash do commit:
git reset 02A2 --hard
Visualizando diferenças entre commits
Para mostrar as diferenças entre commits utilize o diff
. No primeiro comando é mostrado a diferença entre o arquivo atual e o último commit. No segundo comando são mostradas as diferenças entre dois commits, informando seus hashs:
git diff
git diff c744 6623
Rotulando um commit
Você pode rotular os releases de software com o git. O primeiro parâmetro é a versão e o segundo parâmetro é o hash do commit.
git tag 1.0.0 0AB12
Enviando as alterações para o servidor
Caso queira enviar as mudanças para o repositório remoto utilize o comando:
git push -u origin master
Obs.: master
diz respeito a um branch, sendo assim, caso queira enviar outro branch, no caso dev
, faça da seguinte forma:
git push -u origin dev
Ignorando arquivos e pastas
Caso queira ignorar arquivos ou pastas, para que os mesmos não façam parte do repositório controlado pelo Git, basta editar o arquivo .gitignore
, identificando-os.
Atualizando os repositórios
Imagine a seguinte situação: você começou um projeto na escola e enviou os commits para o seu repositório remoto. Em casa fez o clone do repositório e realizou mais alguns commits e enviou para o repositório remoto. Agora o seu repositório na escola está desatualizado em relação ao repositório remoto. Para atualiza-lo utilize o seguinte comando:
git pull
Criando um repositório local
Você também pode criar um repositório local, ou seja, sem vínculos com o reposiório que clonou do Git Hub com o seguinte comando:
git init
O funcionamento é o mesmo, com exceção que você não irá enviar para um repositório remoto.
Adicionando um repositório remoto
Se após criar um repositório local for necessário anexa-lo a um repositório remoto, utilize o seguinte comando:
git remote add origin https://github.com/marcoaugustoandrade/curso-de-git.git
Agora você pode fazer git
push e enviar os commits para o repositório remoto.