Quand dois-je utiliser rm, git rm, git rm -- cache, git ajouter
j'apprends le git, mais je suis confus par différentes façons de mettre en scène et de commettre des fichiers. Pour me faire à l'idée, j'utilise une métaphore des répertoires: répertoire de travail, répertoire de mise en scène, répertoire de propagation.
- si je
rm
un fichier de mon répertoire de travail, il ne le supprime que de mon répertoire de travail. C'-ce exact? - si je
git rm
un fichier de mon répertoire de travail, il supprime tous les trois répertoires. - Il Correct? - si je
git rm --cached
un fichier, il est supprime le fichier de ma mise en scène et de commettre des répertoires, mais le laisser dans mon répertoire de travail? - si j'ai mis à jour, ajouté et supprimé des fichiers de mon
répertoire, et faire
git add .
, puisgit status
montre les fichiers mis en scène qui ont été ajouté, supprimé ou mis à jour. Ce qui se passe quand je m'engage? Sont les fichiers supprimés supprimés du répertoire Commit? Si je roule de retour à ces fichiers supprimés réapparaîtront-ils plus tard?
toute aide pour mieux comprendre ces concepts serait appréciée-merci!
1 réponses
modifiez votre compréhension de la zone de transit (aussi connue sous le nom d'index ou cache) et de l'option --cached
. La documentation pour git rm
indique
--cached
utilisez cette option pour dégrafer et supprimer les chemins uniquement à partir de l'index. Les fichiers d'arbre de travail, modifiés ou non, seront laissés seuls.
qui suit votre liste donne
-
rm file
- supprimer le fichier du répertoire de travail seulement -
git rm
- supprimer le fichier du répertoire de travail et de la zone de transit, mais ne fait pas encore partie de l'histoire (dépôt, "commit directory") -
git rm --cached
- retirer de la zone de rassemblement mais ni l'Annuaire de travail ni l'histoire -
git add .
en présence de modifications, de nouveaux fichiers et de fichiers supprimés - git enregistrera les modifications et de nouveaux fichiers non marqués dans la cache. (git add
se comporteront différemment avec certaines options.)
l'option --cached
des différentes commandes git les fait fonctionner sur l'index ou au moins par rapport à l'index.
git add
et git rm
prendre les modifications à partir du répertoire de travail à l'index ou le cache. Pensez à ces commandes comme la construction de votre prochain commettre une pièce à la fois.
après que vous soyez satisfait de ce qu'il y a dans l'index, déplacez les changements de l'index vers le dépôt avec git commit
.
la plupart du temps, ce que vous voulez est la séquence simple git rm file
suivie de git commit
pour arrêter de suivre fichier au point actuel de votre histoire.