Last active
August 27, 2022 04:04
-
-
Save GustavoGomesDias/2bd8a9c404ad1dfd903e363351a09b1e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git add | |
=>. ou arq_name => adiciona o arquivo para commit | |
=> -i abre a opção de interatividade | |
=> Ex.: Queremos tirar arquivos de dentro do commit | |
=> Opção 3 -> Digitar os números referentes ao arq q o git vai dar na hora | |
=> Enter para sair e confirmar os que vão estar fora da instância de commit | |
=> Caro querira recolocar um, opção 4 | |
=> -p => Pergunta qual as modificações q você quer que sejam enviadas em certo arquivo. | |
=> Apresenta umas opções, ao dar enter ele fala cada uma delas | |
=> q = quit | |
===================================================================================== | |
git commit => Captura as mudanças adicionadas pelo comando git add. Por padrão, só esse comando abre um editor de texto para você escrever uma pequena mensagem que depois de escrever basta salar e fechar o editor | |
=> -m "mensagem" => Deixa você adicionar a mensagem direto na lina de comando, sem abrir o editor de texto | |
=> -a => Faz um commit de todas as intâncias de alterações acompanhadas (adicionadas pelo git add) no diretório. | |
=> -am "mensagem" => Junção de -a e -m | |
=> --amend => Modifica a mensagem de commit | |
=> Ex:. git commit -m "Adicionando arquivs" (erro de digitação) | |
=> git commit -m "Adicionando arquivos" --amend | |
=> Acertei a mensagem anterior que tinha erro de digitação | |
=> Adicionar outro arquivo (git add) e depois usar --amend (mudando ou não a mensagem) adiciona os arquivos no commit anterior | |
=================================================================================== | |
git reset => O último commit é representado pela HEAD | |
=> git reset --soft HEAD~n => reset os n últimos commits, sendo n um número | |
=> git reset --hard => apaga tudo antes de mexermos, | |
=> git reset --nome_arq => tira o nome_arq da instância de commit, ou seja, faz ele voltar para antes do git add. | |
=> git reset -- => tira tudo da instância de commit | |
=================================================================================== | |
git rebase -i HEAD~n => -i - i de interativo, ou seja, o git vai abrir meu editior e m eperguntar o que eu quero fazer com os n últimos commits. | |
=> Logo em cima vai ter os commits, caso eu coloque squash neles e deixe um com pick, o git vai juntar todos em um só. | |
=> Embaixo ele abre as opçõpes e explica elas. | |
=> Ao gravar e sair, ele abre o editor de novo com uma mensagem padrão logo em cima, basta apagá-la e colocar a mensagem que eu quero. | |
=> Se tivermos em uma branch diferente que a main e com uns 10 commits, por exemplo, podemos usar HEAD~1 para apagar todos os 10 | |
==================================================================================== | |
git config --global core.editor "code --wait" => para colocar o code como meu editor padrão para o git | |
https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config | |
==================================================================================== | |
git diff => exibe o path completo | |
=> --staged => mostra o que vai no próximo commit | |
=================================================================================== | |
git reflog => Mostra a situação dos shauns (não se é assim que se escreve), que é o número do commits que, por sua vez, encadeia ele na lista simples que linka todo o histórico de commit. | |
=================================================================================== | |
git checkout | |
=> <nome_branch> => para ir pra branch | |
=> git checkout master => ir para a branch master | |
=> -b <branch> => cria uma nova branch | |
=> Imagine que demos um reset hard em algo que não poderiamos jogar no lixo, caso tenhamos o shaun, podemos usar: | |
git chekout -b <branch> <shaun do commit apagado> => cria uma nova branch com o commit apagado | |
ter o shaun é complicado, se for dar um reset em tudo, de um git log antes | |
==================================================================================== | |
git gc => garbed collector ("esvaziar a lixeira") | |
==================================================================================== | |
git branch | |
-d teste => apaga a branch | |
-m master main => renomeia a branch master local para main (ainda é preciso deletar ela no remote - repositório onliners); | |
==================================================================================== | |
git fetch => Um "pull" para branchs, ou seja, ele puxa toas as branchs que não estão no seu repositório | |
=================================================================================== | |
git status => Mostra o status do arquivo | |
=> -s => Mostra o status resumidamente | |
=================================================================================== | |
git log => Mostra todos os commits (e suas hashs) já feitos | |
=> --oneline => Mostra resumidamente | |
=> --prety=format:'%<formatação>' | |
=> formatação => %cn -> Mostra o nome de quem fez os commits | |
%cr -> Mostra a data de quando os commits foram feitos | |
%d -> Mostra a branch e a tag (caso teja) | |
%s -> Messagem do commit | |
%H -> Mostra a hash do commit | |
%h -> Mostra a hash reduzida | |
%C -> Mudar a cor de cada print | |
=================================================================================== | |
Comandos encurtados | |
ga = 'git add' | |
gaa = 'git add .' | |
gaaa = 'git add --all' | |
gb = 'git branch' | |
gbd = 'git branch --delete' | |
gc = 'git commit' | |
gcm = 'git commit --message' | |
gco = 'git checkout' | |
gcob = 'git checkout -b' | |
gi = 'git init' | |
gp = 'git pull' | |
gs = 'git status' | |
============================Configurando o git================================== | |
git config --global core.editor code => configura o editor padrão para o meu usuário (no meu caso, o vscode) | |
git config --global --edit => para editar as configurações do git | |
no .gitconfig, code --wait pede para o vscode esperar o git carregar todo o arquivo | |
=====Comandos que eu configurei | |
git s === git status | |
git c "<message>" === git add --all && git commit -m | |
git l === git log | |
==================================Comandos novos 04/07/2021 | |
git push origin --delete <nome_branch> => Deleta uma branch na origin (tenha certeza de não ser a default) | |
==================================Comandos novos 28/07/2021 | |
git remote | |
=> add <nome_remote> <url_do_repo> | |
=> -v => Lista os remotes existentes | |
=> set-url <nome_remote> <url_do_repo> => muda o o url do repo associado a <ome_remote> para <url_do_repo> | |
=> rename <nome_antigo> <novo_nome> => Renomeia o remote de <nome_antigo> para <novo_nome> | |
=> rm <nome_remote> => romeve o remote com nome <nome_remote>. ATENÇÃO: Esse comando não remove do servidor do github, apenas localmente | |
O <nome_remote> seria o "origin" do github ou o "heroku" que a gente usa no Heroku. Isso depende de você, mas deixa o "origin" para o github. | |
============================================================= Linkar o repositório | |
1 - git init | |
2 - git add [items] | |
3 - git commit -m "first commit" | |
4 - git branch -M main | |
5 - git remote add origin [email protected]:GustavoGomesDias/<REPO_NAME>.git | |
6 - git pull origin main --allow-unrelated-histories (# Se já tiver algo dentro) | |
7 - git push -u origin main | |
Fatal: Not possible to fast-forward, aborting | |
https://stackoverflow.com/questions/13106179/fatal-not-possible-to-fast-forward-aborting | |
=> git pull origin master --rebase | |
============================================================ Com a mudança do github, para projetos antigos talvez seja necessário mudar o remote | |
git remote set-url origin [email protected]:GustavoGomesDias/<REPO_NAME>.git | |
=========================================================== 20/09/2021 | |
git stash => "Esconde" um arquivo que foi adicionado ao stage (ou seja, só pode ser usado depois do git add) | |
=> sem flag, ele esconde todos dentro do stage | |
=> push <path_arquivo> => para esconder apenas o path passado | |
=> pop => ele retorna o arquivo "escondido" | |
=> list => lista os arquivos "escondidos" | |
===========================================================05/10/2021 | |
git tag => cria uma tag (para releases) | |
=> sem nada é uma tag light e não é recomenda suber para o github | |
=> -a => é uma tag anodata e é a que se recomenda subir para o github | |
=> -m (opcional) => como no git commit, é para passar uma mensagem | |
Na hora de dar git push | |
=> --tags => sobe todas as tags, mesmo as lights | |
=> --follow-tags => sobe só as anotadas | |
===========================================================07/10/2021 | |
Selecionando o que deve ser clonado no repositório | |
git clone -n <link_repo> | |
git checkout HEAD <arquivo|diretório> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment