Comandos basicos de Git
Por favor pessoal podem melhorar o post com seus comentarios
INICIAR NOVO REPOSITORIO:
git init git add . git commit -m "first commit" git branch -M main git remote add origin https://github.com/.../..../... git push -u origin main
Vamos aos basicos:
git checkout -b <branch_name> = Fazer o checkout para uma nova branch
git push origin <branch_name> = envia modificaçoes ao repositorio na branch especifica
git init - iniciar projeto git em um repositorio nao monitorado pelo git
git config user.name "meunomeaqui" - Cria um nome de usuario do projeto.
Se add --global o git irá setar o user e email para todos os projetos, nao faça isso em computator publico. Ex = git config --global user.name "meunomeaqui"
git config user.email "meuemail@mail.com" - Cria email do usuario do projeto
git reset <arquivo-ou-diretório> - esse comando retira o arquivo ou dir. do git Add, somente se o commit ainda nao foi realizado
git rm --cached - esse comando retira o arquivo do git Add, caso o commit ja tenha sido realizado
git rm -r --cached <diretório> - esse comando retira o diretorio do git Add, caso o commit ja tenha sido realizado
git log - visualizar os commits realizados no repositorio
git log -3 - ira mostrar os ultimos 3 logs se trocar por -2 mostrara os ultimos 2 e...
git log --oneline - mostrara os logs em apenas uma linha, tmb pode usar o [ git log --oneline -2 ] para escolher quantidade de logs
git log --after="2022-6-17" - traz os logs posterior a data informada. Pode usar o -2 pra trazer a quantidade EX. =** git log --after="2022-6-17" -2**
git log --before="2022-6-17" - traz os logs anterior a data informada
git log --since="2 days ago"
git log --before="1 mouth ago"
git log --author="meunome"
git checkout <hash_log_ID> - irá voltar para o commit informado e todas as atualizaçoes sumirão (nao se preocupe, NAO SERÃO DELETADAS)
git checkout master - voltara para o ultimo commit
git mv teste.py test.py - renomeara o arquivo. Se renomear pelo git nao é necessario rodar o 'git add' somente o commit
git rm <arq_name> - deletara o arquivo usando o git
git diff <hash_log_ID_1>..<hash_log_ID_2> - fara comparalção entre dois commits. *** o hash_ID_1 deve ser mais antigo do que o hash_ID_2, precisa obedecer essa ordem.
git commit --amend -m "message" - altera a messagem do commit anterior
git commit --amend -m "copiar a mensagem do commit anterior" - nesse caso se precisar alterar algo no arquivo e quiser que ele vá no mesmo commit aterior
git restore - ira tirar o arquivo do git add.
git checkout <file_name> - ira remover as alteraçoes no codigo que ainda nao foram "git add"
git reset HEAD --hard - ira remover as alteraçoes no codigo de todos os arquivos que ainda nao foram "git add"
git reset HEAD^ --hard - deletara o stado atual e voltara para o anterior. *** Cuidado ***
git checkout <branch_name> - ira para branche especifica
git branch - listara as branches do projeto
git branch <new_branch_name> - ira criar uma nova branch com o nome especifico
git branch -d <branch_name> - ira deletar a branch
git merge <branch_name> - ira fazer o merge entre a branch atual com a branch informada no comando
git rebase <branch_name> - praticamente faz a mesma coisa que o merge mas de forma diferente, nao aconselhavel usar em repositorios publicos
git fetch - baixa as atualizalçoes do repositorio mas nao faz o merge como git pull
git tag <new_tag> - ira criar tag no projeto
git checkout tag_name - ira pular para tag
git switch -c <branch_tag> - ira criar branch para tag, nesse caso primero precisa esta na tag com o git checkout tag_name
git tag -a -m - ira registrar uma mensagem quando criar a tag
git show <tag_name> - mostrara informações de uma tag especifica
git push origin <tag_name> - versionara a tag no repositorio
git tag -d <tag_name> - deletará uma tag primeiramente no repositorio local
git push --delete origin <tag_name> deletará do repositorio remoto
git remote add origin https://github.com..... - adiciona o reposistorio local recem criado ao repositorio remoto, nesse caso usando o https
git push --delete origin <branch_name> - deletara a branch no repositorio remoto, apos ser deletado localmente com "git branch -d <branch_name>"
git revert <hash_log_ID> - revertera o commit para um estado anterior mas nao apagara o commit
git reset HEAD~1 - revertera o commit para um estado anterior mas apagara o commit, o numero < 1 > do exemplo significa quantos commits anteriores serão resetados, no caso do exemplo o ultimo
se quiser fechar uma Issue com o commite e push, utilize isso na mensagem do commit -m "Resolvendo o bug do projeto. Closes #1". Closes #1 ira encerrar a issue #1
git clone --branch <branch_name> pull de uma branch especifica