O GIT é um sistema de controle de versão, que monitora todo seu código, caso você saiba pelo menos um pouco de GIT, seu aprendizado, ou até mesmo seus códigos avançados, ficarão mais fáceis de lidar, em poucas palavras, não vai mais passar raiva, por causa de seus códigos. Com o GIT você não perderá seu trabalho, vai poder voltar para a versão anterior, antes de ter feito alguma bobagem, poderá criar e trabalhar diversas versões em paralelo e assim por diante.
O que é controle de versão, e por que você deve se importar?
O controle de versão é um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo, de forma que você possa recuperar versões específicas.
Se você é um designer gráfico ou um web designer e quer manter todas as versões de uma imagem ou layout (o que você certamente gostaria), usar um Sistema de Controle de Versão (Version Control System ou VCS) é uma decisão sábia. Ele permite reverter arquivos e projetos inteiros para um estado anterior, compara mudanças feitas ao decorrer do tempo, vê quem foi o último a modificar algo que pode estar causando problemas, quem introduziu um bug e quando, e muito mais. Usar um VCS normalmente significa que se você estragou algo ou perdeu arquivos, poderá facilmente reavê-los. Além disso, você pode controlar tudo sem maiores esforços.
Vamos lá!
Ver o status
git status
Adicionando um arquivo
git add (nome do arquivo)
Adicionando todos os arquivos ao mesmo tempo
git add .
Voltando ao estágio anterior do adicionamento
git reset HEAD (nome do arquivo)
Commit - Comitando
git commit -m "mensagem de commit"
Adicionando e comitando ao mesmo tempo
git commit -a -m "mensagem de commit"
Voltando commits a versões anteriores
voltar um commit
git reset HEAD~1
voltar dois commit
git reset HEAD~2
assim por diante...
Voltando um commit e deixando o arquivo no estagio anterior
git reset HEAD~1 --soft
Voltando um commit e excluindo o arquivo, deixando no estágio anterior
git reset HEAD~1 --hard
Verificando todos os commits
git log
Verificando o que foi mudado, diferença entre um arquivo e outro
git log -p
Verificando os 2 últimos commits
git log -p -2
Mostrando as estatísticas de todos os commits
git log --stat
Mostrando todos os commits, cada um em uma linha
git log --pretty=oneline
Mostrando todos os commits dos últimos 2 dias até o momento atual
git log --since=2.days
Criando um branch - uma ramificação
git checkout -b (nome do branch)
Verificando em que branch você está
git branch
Voltando para o branch master
git checkout master
Grudando o branch criado no branch master
entre como branch master
git merge (nome do branch que vc criou)
Grudando o branch criado no branch master sem o commit
somente localmente - localhost
entre como branch master
git rebase (nome do branch que vc criou)
Removendo um branch
git branch -D (nome do branch)
Vendo branchs remotos
git branch -a
Mostrando o início do hash, quem comitou, quanto tempo atrás, mensagem: descrição do commit
git log --pretty=format: "%h - %an, %ar : %s"
Deletando arquivos
git rm (nome_do_arquivo)
Deletando todos os aquivos removidos ao mesmo tempo
git ls-files --deleted | xargs git rm
Ignorando arquivos
crie um arquivo chamado .gitignore
digite o caminho da(s) pasta(s) ou arquivo(s) a ser ignorado
cada arquivo em uma linha
salve!
adicione o arquivo. (Obs: Código já mostrado anteriormente)
Criando um .gitignore global
git config --global core.excludesfile ~/.gitignore
refaça o mesmo processo anterior.
Criando um clone de um projeto no github
git clone (url do arquivo)
Fazendo um clone de outros branchs
git checkout -b (nome do branch) origin/ (nome do branch)
Trazendo, puxando as alterações feitas por outros usuários
git pull origin master
Sincronizando tudo que está no repositório remoto
git pull
Enviando o(s) projeto(s), arquivo(s) para o repositório - github
git push origin
Enviando um branch para o repositório - github
git push origin (nome do branch)
Criando tags
git tag (versão da tag)
Listando tags
git tag -l
Enviando a tag para o repositório - github
git push origin master --tags
Removendo as tags criadas
Removendo tag localmente
git tag -d 0.1.0
Removendo tag no repositório remoto
git push origin :refs/tags/0.1.0
Criando um repositório local
crie uma pasta e entre nela
git init --bare
saia da pasta
git checkout master git push local
Ufa...
Se você quer continuar ou iniciar seus estudos com GIT, este link é um ótimo começo.
Aqui foram citados alguns comandos git, espero ter ajudado, se souberem de mais alguns que não se encontra na lista, comente!!!
Obrigado!
(`o´)/ Abraços!!!