2
respostas

Qual a probalidade de se fazer algo irrecuperável?

suponhamos que o jovem mancebo esteja trabalhndo pela 1a vez com git. Excluindo os comandos de deleçāo, quais a possibilidades de fazer algo irreversível ou que danifique o repositório?

2 respostas

Olá Dairan, tudo bem?

Desculpe pela demora no retorno!

Segue algumas situações que podem ser irreversíveis ou perigosas com o Git:

1. Alterações sem ter feito o commit


Basicamente qualquer coisa sobre commit com o Git pode quase sempre ser recuperada. Até mesmo commits que estavam em alguma branch que foram deletados ou commits que foram sobrescritos pela tag --amend podem ser recuperados. Contudo, qualquer coisa que você perder que nunca sofreu commit pode ser considerada praticamente perdida.

2. Merge na branch master


Caso você esteja trabalhando em equipe com um projeto, vocês devem tomar o cuidado ao fazer merge na branch master, pois se outro integrante da equipe tiver feito alterações na master e o outro que estiver trabalhando em outro branch e fizer um merge de forma indevida, as alterações feitas pelo outro integrante na master podem ser perdidas.

3. git reset --hard


A tag --hard é a única maneira de tornar o comando reset perigoso, é um dos poucos casos em que o Git irá realmente destruir os dados. Qualquer outra tag do reset pode ser facilmente desfeita, mas a --hard não, pois ela irá sobrescrever os arquivos no repositório à força.

Mas caso tenha feito um commit em seu repositório, você poderia recuperá-lo utilizando o comando reflog, porém, caso contrário o Git iria sobrescrever o arquivo e ele seria irrecuperável.


Tome cuidado com esses comandos hein!

Espero que tenha ajudado e qualquer coisa, estamos à disposição!

Bons estudos 😄

Sem problema..

Inclusive já passei por um problema com rebase o rebase e li que o reflog daria para recuperar.

Obrigado Camila,

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software