Git : les commandes de base
Les commandes du quotidien en local, status, add, commit, diff, restore et log : ce que chacune lit ou modifie dans le répertoire de travail, l'index et le dépôt.
- 22 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
- Comprendre
Quelques cartes du deck
git status : de quoi s'agit-il ?
Voir la réponse
Indique la branche courante et l'état des fichiers : indexés, modifiés mais non indexés, non suivis.
Elle ne modifie rien. C'est le réflexe avant tout commit : elle dit ce qui partira, ce qui ne partira pas, et la commande pour changer cela.
Tu viens de lancer
git add a.txtsans autre modification. Que montregit diff?- Rien : le répertoire de travail et l'index sont identiques
- Les modifications que le git add vient d'indexer
- Les modifications de a.txt depuis le dernier commit
- Une erreur : il faut préciser un fichier ou un commit
Voir la réponse
Rien : le répertoire de travail et l'index sont identiques
git diffcompare le répertoire de travail à l'index. Une fois le fichier ajouté, les deux sont pareils. Pour voir ce qui vient d'être indexé, c'estgit diff --staged.git … transforme le dossier courant en dépôt en créant le dossier .git.
Voir la réponse
git init transforme le dossier courant en dépôt en créant le dossier .git.
Aucun fichier du projet n'est touché. Les fichiers déjà présents restent non suivis jusqu'au premier git add.
git add : de quoi s'agit-il ?
Voir la réponse
Copie dans l'index l'état actuel d'un fichier ; si le fichier était nouveau, il devient suivi.
L'état copié est celui du moment : une modification faite après nécessite un nouvel ajout pour partir dans le commit.
config.txt a été indexé par erreur, mais tu veux garder ses modifications dans le fichier. Que fais-tu ?
git restore config.txtgit rm config.txtgit reset --hardgit restore --staged config.txt
Voir la réponse
git restore --staged config.txtSeule la première retire le fichier de l'index en gardant son contenu.
git restore config.txtrecopie l'index dans le fichier : le fichier reste indexé.git rmrefuse ici (« changes staged in the index ») et viserait de toute façon à supprimer le fichier.git reset --hardécrase tout le travail non validé.