Ferramentas Avançadas: rebase, stash, cherry-pick e tags
Vamos explorar as ferramentas que diferenciam um usuário confiante do Git daquele que conhece apenas o básico. Discutiremos o rebase como alternativa ao merge - mostrando quando ele deixa o histórico mais limpo e quando pode se tornar um pesadelo. Incluiremos o stash para 'guardar' rapidamente trabalhos inacabados, o cherry-pick para transferir commits pontuais e as tags para marcar lançamentos.
- Você será capaz de usar o git stash para alternar entre tarefas sem perder alterações.
- Você entenderá a diferença entre rebase e merge e poderá escolher conscientemente entre eles dependendo do contexto.
- Você aprenderá a editar o histórico de commits usando rebase interativo e a marcar versões de lançamento com tags.
Simula ng leksyon
Problema: como guardar um trabalho inacabado
- Um bug crítico interrompe seu trabalho
- O código inacabado não pode ser commitado
- Git stash — armazenamento temporário de alterações
- Salva tanto arquivos rastreados quanto não rastreados
- Retorna o diretório de trabalho ao estado limpo
Imagine: você está no meio do desenvolvimento de uma nova funcionalidade para o sistema do Itaú, e surge um bug crítico que precisa ser resolvido com urgência. Abandonar o trabalho atual não é uma opção, mas também não faz sentido fazer commit de um código incompleto. É para esses momentos que existe o git stash — sua prateleira digital temporária. É como dar um pause no jogo: seu progresso atual é salvo e você pode se dedicar a outra tarefa. Quando voltar, tudo estará exatamente como deixou, incluindo arquivos não rastreados, se você não esquecer a flag -u. Isso evita que você precise manter várias tarefas na cabeça ao mesmo tempo.
Salvando e visualizando alterações
- git stash save — salva as alterações no armazenamento
- git stash list — exibe a lista de alterações salvas
- Cada stash recebe um ID único
- stash@{0} — última alteração salva
- O armazenamento preserva o estado do diretório de trabalho
Vamos ver como trabalhar com git stash na prática. O comando git stash save irá salvar todas as alterações no diretório de trabalho e os arquivos preparados, retornando você a um estado limpo. Seu trabalho não será perdido — ele será armazenado em um local especial. Para verificar se as alterações foram salvas, execute git stash list. Você verá uma lista de todas as tarefas guardadas com identificadores únicos como stash arroba zero. Isso é especialmente útil quando você precisa alternar rapidamente entre tarefas sem perder o progresso.
# Salvando as alterações atuais
git stash save "WIP: Nova funcionalidade de login"
# Verificando a lista de alterações salvas
git stash list
# Visualizando o conteúdo do último stash
git stash show -p
Recuperando alterações guardadas
- git stash pop — aplica e remove o último stash
- git stash apply — aplica sem remover
- Podem ocorrer conflitos ao modificar o código
- Conflitos são resolvidos manualmente
- stash@{n} — acessa um salvamento específico
Quando chega a hora de retomar o trabalho guardado, você tem duas opções. O comando git stash pop aplicará as últimas alterações salvas e as removerá da lista de stash. Se você quiser apenas visualizar as alterações ou aplicá-las várias vezes, use git stash apply — as alterações permanecerão no armazenamento. É importante lembrar: se algo mudou no código desde o salvamento do stash, podem ocorrer conflitos. Nesse caso, o Git informará o problema e você precisará resolver os conflitos manualmente.
# Recupera as últimas alterações guardadas
git stash pop
# OU aplica sem remover
git stash apply
# Aplica um stash específico pelo índice
git stash apply stash@{1}
Buong leksyon ay para sa subscription
25 pang slide sa buong bersyon.
Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.
Mag-sign in o magparehistro Mag-subscribeNilalaman ng leksyon
- Problema: como guardar um trabalho inacabado
- Salvando e visualizando alterações
- Recuperando alterações guardadas
- Quando o stash pode ser prejudicial
- Como funciona a mesclagem de branches
- Rebase: reescrevendo o histórico de commits
- Quando usar cada ferramenta: cenários práticos
- Riscos do rebase: o que pode dar errado
- O que é rebase e por que é importante
- Executando rebase: passo a passo
- Resolvendo conflitos durante o rebase
- Rebase interativo: seu editor de histórico de commits
- Principais comandos do rebase interativo
- Prática: deixando o histórico perfeito
- Atenção: Modificando Histórico Já Publicado
- Por que não devemos fazer rebase em branches compartilhados
- Como se recuperar de um rebase mal-sucedido
- Correção Segura do Histórico
- Por que usar cherry-pick no Git
- Como usar git cherry-pick
- Quando escolher: cherry-pick vs merge vs rebase
- Tags Git: marcadores para commits importantes
- Criando tags anotadas e leves
- Publicando tags no repositório remoto
- Cenário: hotfix no meio do desenvolvimento
- Integrando mudanças com rebase e cherry-pick
- Erros comuns e como evitá-los
- Conclusão: Seu novo arsenal de mestre Git
Mga artikulo tungkol sa araling ito
- git rebase: paano ito gumagana, interactive mode, at squash ng commit
- Mga command ng Git: cheat sheet na may mga halimbawa para sa araw-araw
- Git merge vs rebase: alin ang piliin para sa team ninyo
- git stash: paano pansamantalang itabi ang mga pagbabago at ibalik ang mga ito
- Mga tanong tungkol sa Git sa job interview: 25 tanong na may sagot
Lahat ng leksyon ng kurso
- Introdução: Git do Zero ao Desenvolvedor Confiante
- Por que o Git é necessário — e por que ele é exigido no mercado de trabalho
- Instalação e Configuração: Preparando o Git para o Primeiro Uso
- Primeiro Repositório: init, add, commit e a Mágica do Índice
- Lendo o histórico: log, diff, show e navegação pelo passado
- Branches: A Realidade Paralela do Seu Código
- Desfazendo Erros: restore, reset, revert — O Caminho Correto e os Perigos
- GitHub e repositórios remotos: seu código na nuvem
- Trabalho em Equipe: Forks, Branches de Funcionalidades e Pull Requests
- Conflitos de Merge: Sem Pânico - Entenda e Resolva
- Processos de Git em equipes reais: qual fluxo de trabalho escolher
- Ferramentas Avançadas: rebase, stash, cherry-pick e tags
- Projeto Final: Simulando o Desenvolvimento em Equipe no Mundo Real