Para este exemplo usaremos um projeto Spring Boot criado no site Spring Initializr, porém os passos que serão apresentados neste tutorial servem para qualquer outro tipo de projeto.
svn
Como criar um repositório no Github
Você criou sua conta no Github e possivelmente até já baixou projetos dessa plataforma, mas se é novo em programação, talvez ainda não saiba como criar seus próprios repositórios.
O que é Git
Antes de falar sobre Git é preciso explicar o que é um VCS, ou Version Control System(Sistema de Versões System). Um VCS é um sistema de controle de versão que permite gerenciar mudanças em arquivos. Um dos softwares do tipo VCS mais utilizado no mundo de desenvolvimento de software antes do Git foi o Subversion(ainda é bastante utilizado), que é um sistema de controle de versão centralizado.
O Git é um software do tipo VCS lançado no ano de 2005 pelo também criador do Linux, Linus Torvalds. Na época a equipe de desenvolvimento do Linux utilizava um VCS chamado BitKeeper, porém, por não concordar com as recentes mudanças na licença dessa ferramenta e por não encontrar um outro VCS que suprisse as necessidades do projeto, Linus decidiu trabalhar na criação do seu próprio sistema de controle de versão, o Git.
Como enfatizado em sua documentação, o Git é bastante diferente conceitualmente de seus concorrentes. Uma das principais diferenças é o fato do Git ser um VCS distribuído. Essa característica torna a ferramenta mais performática, já que os recursos e o histórico de mudanças ficam sempre disponível para os desenvolvedores, mesmo quando não há conexão com a internet.
Comandos Básicos
git clone <url-do-repositorio.git> # clone do projeto
git add <arquivo-novo-a-ser-adicionado> # adiciona novos arquivos
git reset <arquivo> # desfaz o git add
git commit -m "o que foi alterado" # salva o estado do projeto naquele momento
git push origin <branch> # envia o arquivos commitados para o repositório remoto
git pull origin <branch> # atualiza o projeto com as mudanças do repositório remoto
git merge <branch> # traz as mudanças da branch informada para a branch atual, fazendo uma fusão
git log # mostra o histórico de commits
git checkout <outra-branch> # muda de uma branch para outra
git checkout -b <nova-branch> # cria nova branch e muda para a mesma
git checkout -- <arquivo-alterado> # desfaz alteração
git remote -v # mostra o repositório atual configurado
git remote add origin <url-do-repositorio.git> # define a url do repositório remoto inicialmente
git remote set-url origin <url-do-repositorio.git> # altera a url do repositório remoto
git reset HEAD~1 # desfaz último commit
git reset --hard HEAD~1 # desfaz último commit e as alterações nos arquivos