git diff e git apply, o jeito adequado de zipar uma branch para envio

Quando estamos fazendo uma feature e perdemos acesso ao repositório, precisamos dar um jeito de enviar o código. O que acontece é que a primeira ideia que passa pela cabeça é enviar um .zip da pasta do projeto, na branch da feature, para que alguém que tenha acesso possa subir nossas alterações.

Bom, e se pudessemos enviar somente o que foi alterado?
E, se estivermos no lugar de quem esta recebendo, tivesse um jeito simples de aplicar essas alterações recebidas?

Com git diff podemos salvar as alterações em um arquivo, para então aplica-las com git apply

Vamos ao post!

1. Gerando um diff.txt

Por exemplo, estou adicionando um footer no meu site, na branch feature/footer .

Ao executar o comando git diff main , posso ver qual é a diferença da branch atual com a main:

No Linux (ou Windows com Git Bash), a saida de qualquer comando, que aparece no terminal, pode ser salva em um arquivo, se você adicionar o operador > .

O comando abaixo salva a saida do git diffem um arquivo chamado footer-diff.txt , ou seja, agora tenho todas alterações do código da branch atual em relação a main registradas em um único arquivo!

git diff main > footer-diff.txt

2. Aplicando alterações de um diff.txt

git apply footer-diff.txt

Todas as alterações geradas no arquivo diff serão aplicadas!

VSCode exibindo alterações aplicadas nos arquivos footer.tsx e index.js

Viu? Uma situação como essa nem sempre precisa gerar um trabalho chato, monotono e manual!

Jack Of All Trades

Jack Of All Trades