Se você modificar um arquivo previamente limpo, git avisos. Ele ainda faz isso se você definir os dados modificados desse arquivo como o que era anteriormente. Ainda assim, o git não lê os dados de todos os arquivos rastreados no diretório de trabalho. Não pode ser porque isso seria muito rápido. Eu tenho repos muitos GB em tamanho e git status
é super rápido, maneira rápida de ter lido todos os dados no repositório.
Para entender melhor o que não pode estar acontecendo (descartar algumas opções), conduzi essa experiência: criei um sistema de arquivos dentro de um arquivo e copiei meu repositório de documentos (3 GB de arquivos rastreados) para lá. Então, desmontei, abri o arquivo em que o sistema de arquivos estava armazenado em um editor hexadecimal, procurei a palavra "indiferente" e troquei uma ocorrência dela pela palavra "implacável" (quantidade igual de espaço de armazenamento necessário para que eu não use bagunça o layout).
Em seguida, montei o sistema de arquivos novamente e, com certeza, o git não percebeu que algo havia mudado. Certifiquei-me de que o arquivo em que eu fiz a alteração foi rastreado, abrindo-o e procurando pela palavra "implacável". Na verdade, a primeira vez que eu troquei a palavra em um arquivo de backup ( *~
file) e não os acompanhei. Mas a segunda vez que a mudança ocorreu em um arquivo rastreado.
Mesmo depois de visualizar o arquivo (para que o carimbo de data / hora de acesso seja alterado), o git não percebeu a alteração. Se isso foi uma corrupção porque um raio cósmico atingiu meu disco rígido e mudou a palavra "indiferente" nesta ocorrência para a palavra "implacável", como eu poderia fazer isso para mim?
Tags git