Original article: How to Undo a Git Add

Pour annuler un git add avant un commit, vous devez exécutez git reset <file>  ou git reset pour désindexer toutes les modifications.

Dans les versions précédentes de Git, les commandes étaient respectivement git reset HEAD <file> et git reset HEAD. Cela a été changé à partir de Git 1.8.2.

Voici un peu plus d'informations générales sur Git

Comprendre les trois sections d'un projet Git

Un projet Git aura les trois sections principales suivantes :

  1. Git directory
  2. Working directory (ou working tree)
  3. Zone de transit

Le Git directory (localisé dans YOUR-PROJECT-PATH/.git/) est l'endroit où Git stocke tout ce dont il a besoin pour suivre avec précision le projet. Cela inclut les métadonnées et une base de données d'objets qui comprend des versions compressées des fichiers de projet.

Le working directory est l'endroit où un utilisateur apporte des modifications locales à un projet. Le répertoire de travail extrait les fichiers du projet de la base de données d'objets du répertoire Git et les place sur la machine locale de l'utilisateur.

La zone de transit est un fichier (également appelé « index », « stage » ou « cache ») qui stocke des informations sur ce qui ira dans votre prochain commit. Un commit, c'est quand vous dites à Git d'enregistrer ces modifications par étapes. Git prend un instantané des fichiers tels qu'ils sont et stocke de manière permanente cet instantané dans le répertoire Git.

Avec trois sections, il existe trois états principaux dans lesquels un fichier peut se trouver à un moment donné : validé, modifié ou mis en scène. Vous modifiez un fichier chaque fois que vous y apportez des modifications dans votre répertoire de travail. Ensuite, il est mis en scène lorsque vous le déplacez vers la zone de mise en scène. Enfin, il est validé après un commit.

Instalation de Git

Configurer l'environement de Git

Git dispose d'un outil de configuration, git config, qui vous permet de personnaliser votre environnement Git. Vous pouvez modifier l'apparence et le fonctionnement de Git en définissant certaines variables de configuration. Exécutez ces commandes à partir d'une interface de ligne de commande sur votre machine (Terminal sous Mac, Invite de commandes ou Powershell sous Windows).

Il existe trois niveaux de stockage de ces variables de configuration :

  1. Système : localisé dans /etc/gitconfig, applique les paramètres par défaut à chaque utilisateur de l'ordinateur. Pour apporter des modifications à ce fichier, utilisez l'option --system avec la commande git config.
  2. Utilisateur : localisé dans ~/.gitconfig ou ~/.config/git/config, applique les paramètres à un seul utilisateur. Pour apporter des modifications à ce fichier, utilisez l'option --global avec la commande git config.
  3. Projet : localisé dans YOUR-PROJECT-PATH/.git/config, applique les paramètres au projet uniquement. Pour apporter des modifications à ce fichier, utilisez la commande git config.

Si certains paramètres sont en conflit les uns avec les autres, les configurations au niveau du projet remplaceront celles au niveau de l'utilisateur, et les configurations au niveau de l'utilisateur remplaceront celles au niveau du système.

Remarque pour les utilisateurs de Windows : Git recherche le fichier de configuration au niveau de l'utilisateur (.gitconfig) dans votre répertoire $HOME (C:\Users\$USER). Git recherche également /etc/gitconfig, bien qu'il soit relatif à la racine MSys, qui se trouve là où vous décidez d'installer Git sur votre système Windows lorsque vous exécutez le programme d'installation. Si vous utilisez la version 2.x ou ultérieure de Git pour Windows, il existe également un fichier de configuration au niveau du système dans C:\Documents and Settings\All Users\Application Data\Git\config sous Windows XP et dans C:\ProgramData\Git\config sur Windows Vista et versions ultérieures. Ce fichier de configuration ne peut être modifié que par git config -f FILE en tant qu'administrateur.

Ajoutez Votre Nom et Email

Git inclut le nom d'utilisateur et l'adresse e-mail dans les informations d'un commit. Vous voudrez le configurer dans votre fichier de configuration au niveau de l'utilisateur avec ces commandes :

git config --global user.name "My Name"
git config --global user.email "myemail@example.com"

Changez votre éditeur de texte

Git utilise automatiquement votre éditeur de texte par défaut, mais vous pouvez le modifier. Voici un exemple pour utiliser l'éditeur Atom à la place (l'option --wait indique au shell d'attendre l'éditeur de texte afin que vous puissiez y faire votre travail avant que le programme ne continue):

git config --global core.editor "atom --wait"

Ajouter de la couleur aux résultats de Git

Vous pouvez configurer votre shell pour ajouter de la couleur aux résultats de Git avec cette commande :

git config --global color.ui true

Pour voir tous vos paramètres de configuration, utilisez la commande git config --list.

Initialiser Git dans un Projet

Une fois Git installé et configuré sur votre ordinateur, vous devez l'initialiser dans votre projet pour commencer à utiliser ses pouvoirs de contrôle de version. Dans la ligne de commande, utilisez la commande cd pour accéder au dossier de niveau supérieur (ou racine) de votre projet. Ensuite, exécutez la commande git init. Cela installe un dossier de répertoire Git avec tous les fichiers et objets dont Git a besoin pour suivre votre projet.

Il est important que le répertoire Git soit installé dans le dossier racine du projet. Git peut suivre les fichiers dans les sous-dossiers, mais il ne suivra pas les fichiers situés dans un dossier parent par rapport au répertoire Git.

Obtenir de l'aide dans Git

Si vous oubliez le fonctionnement d'une commande dans Git, vous pouvez accéder à l'aide de Git à partir de la ligne de commande de plusieurs manières :

git help COMMAND
git COMMAND --help
man git-COMMAND

Cela affiche la page de manuel de la commande dans votre fenêtre de shell. Pour naviguer, faites défiler avec les flèches haut et bas ou utilisez les raccourcis clavier suivants :

  • f ou barre d'espace pour la prochaine page
  • b pour revenir à la page précédente
  • q pour quitter