Attualmente mantengo un progetto per un prompt git per bash (https://github.com/magicmonty/bash-git-prompt) e ho appena ricevuto un bug report (https://github.com/magicmonty/bash-git-prompt/issues/97) da qualcuno che lavora con Docker, che mi dice che ogni volta che usa il prompt, la cache viene invalidata, perché la directory .git
viene costantemente toccata.Qualcuno può spiegare, perché "git status" tocca la directory .git?
Ho esaminato questo e ho scoperto che è il comando git status
, che tocca la directory .git
. Sembra che solo la voce della directory stessa e nessun contenuto siano toccati. Qualcuno può spiegare, perché è necessario, o forse questo è un bug in Git.
C'è un modo per mostrare tutte le informazioni di stato, senza toccare la directory .git?
Grazie per l'aiuto
Aggiornamento:
Dal momento che l'unica ragione per utilizzare il comando git status
era, per determinare il numero di file non monitorate, ho sostituito con git ls-files --others --exclude-standard | wc -l
, che non ha bisogno di una serratura .
Una rapida occhiata a uno 'stato di git strace 'mostra che questa azione utilizza un file di lock' .git/index.lock' –