git branch -m novo_nome
git push origin -u novo_nome
git push origin --delete velho_nome
git add .
depois faça
git commit --ammend -m "alterar também a mensagem"
ou caso não queria alterar a mensagem
git commit --amend --no-edit
** Não faça --amend é um repositório que já tenha feito push
git fetch
por exemplo se um branch foi renomeado é só rodar esse comando em todos os repositórios locais para pegar o novo nome
outro exemplo: foi criar um branch remote, mas vc não consegue fazer checkout desse branch no repositório local
git fetch --prune
Com a flag --prune ele vai atualizar o repositório local com o remote e também remover os branchs que já foram deletados. Caso tenha alterações locais commitadas ela fará o pull automaticamente.
git reset HEAD~ --soft
Com esse comando remove o último comit e volta os arquivos do comit para a area de stage. Não deleta os arquivos
git reset HEAD~ --hard
Com esse comando você remove o último commit e DELETA os arquivos.
ele guarda o histórico de tudo o que é feito. Com ele você consegue visualizar todas as coisas que foram feitas por você
git reflog
depois rode esse aqui:
git reset HEAD@{1}
{x}
indica o índice do histórico você deseja refazer ou desfazer
se reflog envolver criação ou exclusão de arquivo rode o comando
git restore .
git reflog
salva vidas.
(à não ser que esteja trabalhando em um branch remoto sozinho)
use:
git push --force-with-lease
com essa opção só vai sobrescrever se as alterações locais e remoto forem iguais.
git stash
ou um stash com uma descrição
git stash create/save <mensagem>
adicionando arquivos untracked
git stash save "descrição" --include-untracked
git stash branch <nome-da-branch> stash@{1}
git stash branch <nome-da-branch>
git checkout <branch_errado>
git log
visualizar o id do commit errado
git checkout <branch_correto>
git cherry-pick <commit-id>
git checkout <branch_errado>
git revert <commit-id>
sintaxe:
git config --global alias.<atalho> '<comandos>'
Exemplo:
git config --global alias.co checkout
Para chamar o alias:
git co
Talvez você queira executar um comando externo, em vez de um alias no Git
. Nesse caso, você inicia o comando com um !
Isso é útil se você escrever suas próprias ferramentas que funcionam com um repositório Git.
exemplo:
git config --global alias.visual '!gitk'
Para chamar o alias:
git visual
Você pode definir uma função também como alias da seguinte forma:
git config --global alias.commit-push '!f() { git add -A && git commit -m "$@" && git push; }; f'
git branch --merged | egrep -v "(^\*|master|main|develop|qa)" | xargs git branch -d
(^*|master|main|develop|qa) os branch que devem ser ignorados
https://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git/91795#91795
git rebase --onto origem anterior branch
Considere a seguinte situação:
O branch tarefa-2
foi criador a partir do tarefa-1
. No entanto o branch tarefa-2
deveria ser criado apartir da main
. Para corrigir a origem.
Exemplo:
git rebase --onto main tarefa-1 tarefa-2
https://jtemporal.com/corrigindo-a-origem-de-um-branch-com-git-rebase/
Sobre o git ignorar o case no nome das pastas: https://git-scm.com/docs/git-config/2.14.6
Para que ele não ignore é só rodar esse comando para configurar globalmente: git config --global core.ignorecase false Ou esse pra alterar só local: git config core.ignorecase false