Sto imparando git, ma sono confuso da diversi modi di mettere in scena e impegnare i file. Per capirlo, sto usando una metafora di directory: directory di lavoro, directory di staging, directory di commit.Quando dovrei usare rm, git rm, git rm --cached, git add
- Se io
rm
un file dal mio directory di lavoro, lo rimuove solo solo dalla mia directory di lavoro. È corretto? - Se I
git rm
un file dalla mia directory di lavoro, lo rimuove da tutte le tre directory. Corretta? - Se I
git rm --cached
un file, viene rimosso il file dal mio numero di serie e le directory di commit, ma lasciarlo nella mia directory di lavoro? - Se ho aggiornato, ha aggiunto, e cancellato i file dal mio lavoro directory, e fare
git add .
, quindigit status
mostra i file che sono stati aggiunti, eliminati e aggiornati in scena. Cosa succede quando commetto? I file cancellati vengono rimossi dalla directory Commit? Se torno a che esegue il commit più tardi, i file eliminati verranno visualizzati nuovamente?
Qualsiasi aiuto per comprendere meglio questi concetti sarebbe apprezzato -grazie!