tu pode se considerar um Dev tu não sabe usar o Git eu vi esse tweet hoje aqui se deu se seu dia tá ruim agradeça você poderia ser esse cara essa coisa deletou três meses de trabalho cara eu decidi mostrar para vocês justamente o Git como que eu uso alguns comandos aqui que eu gosto de usar justamente para para evitar essas situações Aqui tá o erro desse cara primeiramente foi não usar Git Então se tu tá estudando ou trabalha com programação ah usa o Git cara primeiro deixa eu mudar isso aqui que tá doendo os
meus olhos de uma forma Insana feito essa coisa deletou três meses de trabalho o cara postou lá no vest code Olha só o que o cara escreveu aqui meu o Ghost Se isso for uma fan fic né Se for uma fic ou não eu tinha acabado de baixar o vest code como alternativa e estava apenas brincando com as opções de controle de origem vendo como ele queria preparar 5000 arquivos cliquei em descart e ele apagou todos os meus arquivos todos eles permanentemente como diabos isso é possível quem diabos é o idiota que tornou a de
excluir permanentemente todos os arquivos de um projeto por Acidente possível não consigo nem encontrá-los na lixeira de reciclagem Claro que não né cara esse cara é muito noob meu eu nem pensei que isso fosse possível no Windows esse esse editor de e quem implementou essa opção desejo-lhe o pior eu vou ficar permanentemente longe de todo software de desenvolvimento para Windows de agora em diante legal o cara nem entendeu o que aconteceu né E para o gênio que implementou isso fuck fuck fuck fuck é isso tem muita gente que perde trabalho eu já perdi muito trabalho
que doideira mano uma vez eu eu fiz uma merda pedir um dia de trabalho eu fiquei puto frustrado Eu também perdi vários dias de trabalho já até que eu aprendi a usar o Git e isso me ajudou e às vezes a gente pensa pô usar o Git é fácil né Tu vai lá e dá um Git Comet pronto Tá salvo o teu trabalho mas tem algumas coisas que começam a te afetar no teu dia a dia então eu tô num projetinho aqui e por exemplo deixa eu entrar na pasta de backend ah montando backend e
vamos pegar um arquivo aqui Como por exemplo o do engex não cara CD app mpie tá vamos lá a gente entrou aqui no arquivo não mpie até que não mpie até que não vamos vamos fazer o seguinte ó vamos entrar de novo lá na pasta principal e vamos olhar o docker compos Digamos que a gente de não a gente não vai mais usar docker compos no nosso projeto azar do docker compose vou remover o arquivo doc compose pronto o arquivo sumiu não o arquivo não sumiu né se tu der um Git status ele vai est
ali como deletado pode dar um Git checkout ponto e ele vai basicamente restaurar o docker compose Beleza agora vamos criar um arquivo de teste aqui Cri um arquivo de teste vai escrever qualquer coisa aqui e aí tu tem aquele teu arquivo ali bom tu tá des implementando a tua funcionalidade a tua funcionalidade se chama teste no meio da tua implementação que na verdade tu tá fazendo numa outra Branch então se eu for ver aqui numa Branch eu tô na Branch Main mas Digamos que a gente esteja aqui numa funcionalidade que se chama teste então eu
ten uma brint para ela e não sei se tu sabe mas se tu tem um se tu tem ainda arquivos modificados tu pode mover eles para uma nova Branch Então esse test.txt agora tá na bran feature Test beleza Ah mas ele ainda não tá salvo então pra salvar eu tenho que adicionar primeiro ele eu adiciono o arquivo depois que eu adiciono o arquivo eu vou fazer o comit do arquivo feito o comit do arquivo tá Git status não tem mais nada ali na verdade ele tá salvo Se eu for para agora get checkout Main vocês
não vão ver o arquivo ali se for ah Git checkout feature test vocês vão ver o arquivo ali tu não tá vendo no caso porque aí agora tu tá vendo Beleza então ok básico do básico do Git mas o que acontece se por exemplo tu errou na real esse Comet se tu der um Git log tu vai ver o Comet aqui né esse Comet aqui tu tu não quer tá ligado esse Comet que tu adicionou tu não quer tu achou ele estúpido o que que tu faz nesse caso como é que tu consegue reverter um
Comet que tá feito então uma das coisas que tu pode fazer é o Git reset né então tu vai dar um Git reset E tu vai fazer ele soft head chapeuzinho basicamente o que tu vai fazer é pegar aquelas informações que tinham lá e puxar elas de novo pros arquivos que estão digamos em staging beleza o arquivo tá em stage então o teu Git já não já não tá mais lá mas o arquivo Ele ainda tá adicionado então primeira coisa bom tu quer remover ele então tu vai dar um restore no teu staged e vai
passar aqui o teste nesse momento agora o arquivo não tá mais adicionado se eu remover esse arquivo eu perdi ele beleza mas é o que a gente quer a gente não quer na verdade a gente não quer mais esse arquivo então Git teste.txt Git status não tem nada para fazer Comedy comit e o arquivo já não tá mais ali beleza ele não tá mais salvo Então esse aqui é útil às vezes quando tu comete um erro Ah tem outras coisas que são úteis como por exemplo quando tu tá no meio de do desenvolvimento de algo
e tu precisa salvar o trabalho que tá em andamento para depois voltar nesse trabalho para isso a gente vai precisar usar o Git stash então Digamos que tu tá lá implementando a tua funcionalidade então aqui tu vai implementar ela Hi my ah essa é minha funcionalidade aqui vocês não estão vendo o que eu tô escrevendo também deixa eu baixar aqui aí essa aqui é a minha funcionalidade Beleza o arquivo tá ali ah enquanto tá desolvation tu vai ter que trabalhar numa outra Branch então tu tá na tua feature aqui mas tu vai precisar ir pra
outra Branch o que que tu faz bom Lucas eu faço Comet mas o que acontece se não tá pronto ainda cara daqui a pouco essa teu desenvolvimento da tua nova funcionalidade tu não quer encerrar tu não quer fazer o Comet ainda tu quer só deixar isso aqui guardado como é que tu faz para deixar guardado mas não ainda fazer o Comet para poder ir trabalhar em outra Branch Então a primeira coisa que tu pode fazer então tu tá aqui com Git status tu vai simplesmente dar um Git stash no local Changes save tu não tem
ainda Nenhum Nada acessar salvo por quê Porque esqueceu que a gente tirou aquele arquivo ali a gente vai ter que adicionar primeiro o arquivo Aí sim a gente vai conseguir dar o o Git stash o Git test ele foi salvo a gente não nomeou isso aqui de nada a gente simplesmente deu um Git test ele até gerou aqui para nós né tu pode copiar isso aqui para depois mas se tu for no Git Branch tu vai ver que a gente tá naquela Branch ali no Git status tu vai ver que não tem nada então digamos
tu pode voltar pra m abrir uma nova Branch aqui que tu vai corrigir um bug crítico beleza tá aqui na na na Bran de bug crítico trabalhou nessa bran aqui agora tu quer voltar pra tua funcionalidade e voltar eu fiz CD sem querer aqui então tu quer voltar pra tua funcionalidade tu vai dar um Git checkout na tua Brand de de de feature Git status meu Deus eu não tenho nada lá que deu meu arquivo de teste.txt ou feature P TXT não existe mais o que que tu faz Git Test e tu vai fazer o
pop pop ele vai pegar e vai restaurar a última coisa que tu fez o stash então quando eu der o Git pop stash pop ele vai ter adicionado de volta o arquivo que eu tava trabalhando Se eu entrar no arquivo as minhas informações estão lá salvas isso aqui é muito útil beleza tu pode até mesmo fazer gits test para algo que tá em andamento então se eu der um Git test list ele vai me mostrar não vai mostrar nada agora porque eu fiz pop mas se eu fizer um stash Ah e fazer o Git stash
list ele vai mostrar tudo que tá ali em work in Progress whp trabalho em andamento tu pode até mesmo mandar isso aqui pro teu colega então Git status não tem nada Git stash pop Restaurei o arquivo tá ali o arquivo feature P TXT beleza aí tu quer mandar isso pro teu amigo como eu falei pro teu colega n tu não quer fazer comment tu não quer mandar pro repositório e o stash obviamente ele não vai conseguir fazer porque teu stash tá na no teu local certo não tá no no teu github no gitlab não sei
onde tá hospedando o e rodando o o teu Git né não sei onde tá sedando teu código então tu não vai precisar de um stash tu vai precisar de um pet vai ter que fazer um pet como é que tu faz um pet vai usar algo que se chama dif então tu vai fazer Git dif do teu arquivo de feature e isso vai te gerar um dif beleza só que obviamente tu tem que colocar esse dif dentro de algum arquivo então o que que a gente pode fazer aqui Git dif impr Progress tu pode botar
o nome tu quiser ponto Patch Beleza a gente gerou um arquivo pon Patch dentro desse arquivo pon Patch vai ter tudo que tu tem adicionado tá no caso aqui não tem nada por quê Porque a gente ainda não adicionou o nosso feature P TXT tá então eu cometi um erro aqui deixa eu deletar aquele Pat ali eu vou adicionar a feature Então essa feature agora tá adicionada mas não ainda não não tá comit ainda e agora sim a gente pode fazer o o Git dif então Git gif e colocar dentro do work in Progress Patch
tá deixa eu entrar ali no nosso working Progress Patch e não tem nada aqui eu acho que eu tô cometendo algum erro pera aí cara isso acontece entendeu tu comete um erro mas tu tem que ir lá e corrigir Então deixa eu remover o Patch então eu não tenho mais o Patch ali basicamente eu acho que tá faltando aqui cara é passar o Git dif staged E aí do staged eu mando para dentro de um Patch Agora sim dentro do Pet vai est o dif do que tava não comit mas já tava adicionado para um
arquivo de pat então agora por exemplo a gente tem o Git status a gente tem o nosso arquivo ali de feature eu vou dar um Git restore eu vou basicamente remover o arquivo de feature então Stage staged removi o arquivo agora eu vou deletar o arquivo pum eu entro aqui meu Deus eu não tenho mais o arquivo sumiu o arquivo não sumiu o arquivo Eu ainda tenho o Patch Então se tu não quer deixar em stash e tu pode fazer a gestão do teu stash ou fazer o pop do último Mas tu quer salvar algo
num arquivo porque tu confia mais tu quer mandar isso pro teu Google Drive tu quer botar num num pen drive fazer o que tu quiser mandar pro teu amigo pro teu colega salva num Patch como é que tu salva Git dif Stage at e manda para dentro de um arquivo qualquer pon Patch Beleza agora Lucas eu quero aplicar esse Patch como é que eu faço por exemplo tu pode simplesmente fazer um Git apply whp Patch no momento que eu fizer o apply vocês vão ver que olha que legal feature P TXT está de volta beleza
assim como o stash ali funcionou ele pegou do stash aqui no caso o Pat ele pegou do arquivo de Patch Então se tu mandar esse teu trabalho que tá em andamento pro teu colega ele vai conseguir aplicar lá no projeto dele beleza bom esses são algun um dos Comandos que me ajudam muito no meu dia a dia como programador tem vários outros comandos que tu pode aprender Na real eu recomendo para vocês aprenderem usando o terminal usando digamos linha de comando não interface gráfica porque vocês vão firmar muito mais o faz isso num projeto fake
né Mas vocês vão cometer muito erro até eu cometi um um erro aqui tá ligado a questão é que tu vai tu vai lembrando tu vai descobrindo tu vai firmando muito mais do que se tu utiliz utilizar um editor de código fazer isso dentro do cursor do V code do Android Studio e por aí vai beleza eu espero que isso aqui te ajude Eu espero que tu tenha menos medo de usar o Git ah sempre tem quase Como restaurar o que tu perdeu a não ser que tu sério não tenha salvo ou tenha feito uma
cagada muito grande mas como esse cara aqui meu que ele falou que num clique sumiu tudo provavelmente não sumiu provavelmente ainda tá na no no svn local Então vamos ver se alguém até recomendou isso para ele Prime uma pequena pergunta para ti né tu tá interessado em resolver o teu problema a primeira pergunta tu tá interessado em resolver o problema e aí o cara falou Talvez tu possa buscar as últimas atualizações no teu svn Ou enfim tá usando Git Talvez tu consiga restaurar beleza