Perceba que aqui não há todos os comandos e o que tem, pode faltar alguma explicação, pois o documento em si irá crescer junto com meu conhecimento, o intuito aqui é documentar a progressão do meu saber, e após finalizado ter um documento explicativo sobre o GIT.
Estudando o GIT, percebi uma certa dificuldade comigo mesmo em pegar todos os termos e comandos logo de inicio, por isso criei esse arquivo ao decorrer dos cursos e pesquisas sobre o mesmo. Por ser um pouco complicado inicialmente lembrar de todos os comandos, saber oque cada um faz e as sequencias certas para chama-lós, esse arquivo irá auxiliar o aprendizado.
Adendo
Para usar qualquer comando, será necessário usar na frente o "git", pois é ele que informa ao terminal que você está usando comandos do git. Todos os comandos abaixo serão apresentados sem o "git" no começo, pois interpreto que você está ciente que sem ele no começo de cada comando nada funciona.
INIT
É usado para criar um novo repositório git, esse é o comando principal para iniciar um repositório, sem 'chamar' ele no inicio do projeto você não irá conseguir fazer os demais comandos. (Só é necessário chama-lo no inicio de cada novo repositório git.)
ADD
Adiciona arquivo ao 'staging', (staging é o lugar onde o arquivo vai ficar antes dele ser enviado ao repositorio local.)
- [.] é usado para adicionar todos os arquivos onde o bash foi chamado ou onde ele estiver no momento.
COMMIT
Adiciona arquivo para o repositório local do git, saindo de 'staging'.
- -m: serve para inserir um comentário ao commit. (obrigatório)
Digitando dentro do commit, você pode usar 'Ref #' para referenciar um issues no github, da mesma forma usar o 'closes #' para referenciar e fechar o issues.
https://www.conventionalcommits.org/en/v1.0.0/
PUSH
Envia (empurra) o repositório local para o repositório remoto.
** "origin" "master" é a versão principal do código.
PULL
Baixa (puxa) o repositório remoto para o repositório local.
CHECKOUT
Serve para alternar entre as branch. EX: git checkout [branch]
Lembre-se
- -b: é um flag que juntamente com 'checkout' irá criar uma nova branch e ao mesmo tempo alternaria para a nova branch criada. resumidamente, ela está juntando o comando (git branch <nova_branch>) com o comando checkout
CLONE
Serve para replicar um repositório.
MERGE
É usado para juntar branch. Para usar você precisa estar na branch 'principal' ou na branch que você quer mesclar. Ex: Pense que temos 3 branch, sendo elas - main, comp e mit, se você quiser fundir a 'mit' na branch 'comp', você deve usar git merge mit, estando já na branch mit.
BRANCH
Cria uma nova branch.
STASH
É usado para 'guardar' seu momento atual de trabalho, guardando tudo que não está 'commitado'.
Se usado sem nenhum comando posterior, o git irá gerar uma msg e salvar.
- save: serve para deixar uma mensagem no stash que será salvo.
- list: ver todos os stash salvos
- pop: carregar um 'ponto' salvo, fazendo com que ele volte todos os arquivos não 'commitados' no momento do save.
- clear: limpar a lista, onde os stash são salvos.
LOG
Puxa todo o histórico do repositório.
Para navegar no histórico basta usar 'Page Down' e 'Page Up'. Se desejar sair do modo de visualização do log, basta digitar "q" ou então, colocar ":" e depois digitar "q".
Para chamar o histórico de uma pasta especifica dentro do repositório, basta digitar git log . Até mesmo para ver histórico de um arquivo em especifico, o comando é o mesmo, basta apenas colocar o nome do arquivo no lugar que da pasta
- --oneline: traz o histórico de uma forma resumida.
- --graph: mostra o histórico um pouco mais ilustrado.
RESET
Reverte um commit tirando do repositório local.
HEAD~: reverte na sequencia que os commit foram enviados. No representa quantos commit ele vai reverter.
--soft: revertendo o commit, trazendo todas as alterações para o staging.
HEAD~ pode ser usado logo apos o --soft para informar que ele irá reverter na sequencia de X commit para staging.
--mixed: reverte os arquivos 'commitados' para o 'working directory'. Também pode ser usado com o HEAD~ no final.
--hard: apaga o commit, resultando em perca de código. Também pode ser usado com o HEAD~ no final.
Lembre-se que se usar apenas o comando 'git reset ' ou 'git reset HEAD~' ele irá interpretar como --hard.
REVERT
Reverte um commit criando um novo commit. _HEAD~ pode ser usado aqui para escolher qual commit o 'revert' irá se basear.
ALIAS
Cria um atalho para outros comandos.
Ex: git config --global alias.
Para tirar o atalho basta digitar: git config --global --unset alias.
WORK DIRECTORY
Lugar de trabalho onde os arquivos estão sendo alterados por você, antes mesmo de serem enviados para staging.
VERSIONAMENTO SEMÂNTICO
https://semver.org/lang/pt-BR/
ALGUNS OUTROS COMANDOS
--version: mostra a versão do git na sua maquina.
status: mostra como está o estado da área de trabalho.
ls: mostra todas as pastas no local que você está.
clear: limpar a janela de comandos.
gitk: mostra todo o repositório de forma gráfica. (Apenas no Windows não é necessario instalar uma GUI [graphical user interface]).
mkdir: criar uma pasta
cd: entrar em uma pasta
- rm --cached : esse comando é usado para remover o arquivo do 'staging'.
