Git é um controle de versões e GitHub é o repositório na internet. Os comandos a seguir são executados em um terminal de comandos, dentro da pasta onde os arquivos serão monitorados.
Comando mais comuns
Iniciando o controle de versões em uma pasta
git init- inicia um repositório na pasta atual;git config --global user.name "Fulano de Tal"- Configurar o nome do usuário;git config --global user.email fulanodetal@exemplo.br- Configurar o email do usuário;git config init.defaultBranch main- inicia a ramificação principal.
Acesse o repositório do GitHub, clique em CODE (botão verde), e copie o link;
git remote add origin https://github.com/jocile/sistema-bancario.gitgit branch -M maingit push -u origin main
Controlando as versões dos arquivos
git status- mostra o estado atual do repositório local;git add .- adiciona todos arquivos pra o controle de versões, o ponto marca todos;git commit -m "Comentário"- confirma as alteraçõesgit push -m "comentário"- envia para o GitHub.
Clonando um repositório existente
- Acesse o repositório do GitHub, clique em CODE (botão verde), e copie o link;
- Abra o terminal dentro da pasta que receberá os arquivos e digite:
git clone https://github.com/jocile/sistema-bancario.git- substitua o link pelo link copiado;
Informações do repositório
git status- estado dos arquivosgit status -s- status mais curtogit log- mostra um histórico dos commitsgit log --oneline- simplifica em uma linhagit log --oneline --decorate- mostra para onde os ponteiros do branch estão apontandogit log --graph- desenha um gráficogit log --oneline --graph- simplifica com um gráficogit log --oneline --decorate --graph --all- exibindo com algo mais legível e com coresgit log -p meus-arquivos- histórico de arquivosgit log --after="MMM DD YYYY"- histórico a partir de uma datagit log --before="MMM DD YYYY"- histórico antes de uma datagit log --autor=nome-autor- histórico do autorgit diff- mostrar diferençasgit mergetool- usa a ferramenta gráfica para resolver conflitos
Adicionando
git add arquivo- adicionar o arquivo ou diretório para o commitgit rm arquivo- remove o arquivo do stage e do diretório de trabalhogit commit -m "Comentário"- confirma as alteraçõesgit commit -v- inclui as diferenças (diff) da sua alteraçãogit commit -am "comentário"- adiciona e confirma comentando.
Desfazendo
git checkout arquivo- remove as modificações no arquivo que ainda não foi adicionadogit checkout .- remove as modificações ainda não foram adicionadasgit clean -df- apaga novos arquivos que não foram adicionadosgit reset- apaga novos arquivos que foram adicionadosgit revert HEAD- desfaz o commitgit commit --amend- renomear a mensagem do último commit
Remoto
git remote -v- visualizar links dos repositórios remotosgit remote show origin- Inspecionar um repositório remotogit remote add origin endereço-no-github- Adicionar repositório remotogit remote add upstream endereço-no-github- adicionar repositório remoto original de um forkgit clone endereço-no-github- clonar o projeto do servidor remoto para localgit pull origin nome-do-branch- puxar (trazer) o histórico do servidor remotogit fetch upstream nome-do-branch- Baixar objetos e referências de outro repositório remotogit push origin nome-do-branch- empurrar (enviar) o histórico do local para o servidor remotogit remote rm origin- remove o link do repositório remotogit remote rename nome-atual novo-nome- renomeia repositório remotogit remote set-url origin http://meu-novo-endereco/meu-projeto.git- altera o link do remotogit push origin -d minha-branch- apaga um branch remoto
Ramificações
git branch- Identifica a versão em que o projeto se encontra.git branch -a- lista os branchesgit checkout nome-do-branch- trocar, alternar de branch (muda o projeto para o branch)git checkout master- retornar a ultima versão do projetogit branch nome-do-branch- criar um branchgit checkout -b nome-do-branch- criar um branch e selecioná-lo em apenas um passo (atalhogit reset --hard nome-do-branch-git branch -d nome-do-branch- deletar um branchgit push origin nome-do-branch- Para deletar um branch remoto enviar um push após deletar localgit merge nome-do-branch- une o branch ao branch em que o projeto se encontragit branch -m novo-nome-da-branch- renomeia o branch;
Tags
git tag- listar as tags;git show v1.4- detalhar tag;git tag v1.4-lw- criar a tag tipo leve;git tag -a v1.4 -m "my version 1.4"- criar a tag anotada;git tag -a v1.2 9fceb02- criar uma tag para um branch específico;git push origin v1.5- enviar a tag para o servidor;git push origin --tags- enviar todas tags para o servidor;git checkout -b version2 v2.0.0- criar um branch a partir de uma tag;
Configurações
Define as variáveis de configuração:
- global - uso global do usuário;
- system - configurações do sistema;
- local - referente à pasta local;
Principais comandos:
git init- Para inicializar um repositório;git config --list- Listando as configurações;git config --list --show-origin- mostra o caminho da variável;git config --global user.name "Fulano de Tal"- Configurar o nome;git config --global user.email fulanodetal@exemplo.br- Configurar o email;git config --global core.editor code- Configurar o editor, code para VsCode.git config --global init.defaultBranch main- define ramificação padrão.
Credenciais de autenticação
- Acessar o GitHub em Settings, Developer Settigns e configurar uma credencial tipo token classic;
git config credential.helper cache- salva a credencial temporariamente (computador compartilhado);git config --global credential.helper store- salva a credencial permanentemente (único usuário no sistema) ;git config --global credential.helper- visualizar variável de configuração global.