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.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. 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.txt sans autre modification. Que montre git 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 diff compare 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'est git 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.txt
    • git rm config.txt
    • git reset --hard
    • git restore --staged config.txt
    Voir la réponse

    git restore --staged config.txt

    Seule la première retire le fichier de l'index en gardant son contenu. git restore config.txt recopie l'index dans le fichier : le fichier reste indexé. git rm refuse ici (« changes staged in the index ») et viserait de toute façon à supprimer le fichier. git reset --hard écrase tout le travail non validé.