GIT REBASE peut être utilisé pour modifié le message d'un ou plusieurs commit :
git rebase -i HEAD~3
GIT REFLOG peut être utilisé pour :
- Récupérer un commit perdu : Si vous avez accidentellement réinitialisé ou supprimé une branche, git reflog peut vous aider à trouver le SHA du commit perdu afin que vous puissiez le récupérer avec git checkout <SHA>.
- Annuler un rebase complexe : Après un rebase qui n'a pas eu le résultat escompté, vous pouvez utiliser git reflog pour identifier l'état de votre branche avant le rebase et revenir à cet état avec git reset --hard <SHA>.
GIT FSCK est utilisé pour vérifier l'intégrité de la base de données des objets Git dans un dépôt. Voici deux exemples d'utilisation :
- Vérifier la cohérence du dépôt : Exécuter git fsck sans options pour identifier les objets corrompus, les liens manquants ou les erreurs dans le dépôt. Cela peut aider à détecter des problèmes après un crash système ou une corruption de disque.
- Trouver des objets flottants : Utiliser git fsck --lost-found pour trouver et récupérer des commits qui ne sont plus accessibles par aucune branche ou tag. Cette commande place ces objets dans .git/lost-found/commit/ pour une inspection ultérieure.
Rq: un "dangling blob" désigne un objet blob (par exemple, un fichier) qui n'est référencé par aucun autre objet dans le dépôt Git, souvent un vestige d'opérations passées.
un "dangling commit" est un commit qui n'est actuellement référencé par aucune branche ou tag, ce qui peut arriver après des rebases ou des changements d'historique.
Ces objets sont généralement inoffensifs mais peuvent être examinés ou nettoyés pour optimiser l'espace du dépôt.
GIT RESTORE est utilisé pour annuler des modifications dans les fichiers de travail ou l'index.
- Restaurer un fichier dans l'espace de travail : git restore <fichier> annule les modifications non commitées d'un fichier spécifique, le ramenant à son état du dernier commit.
- Restaurer un fichier dans l'index (zone de staging) : git restore --staged <fichier> retire un fichier de la zone de staging sans modifier l'état du fichier dans l'espace de travail, utile pour annuler un git add <fichier>.
GIT SWITCH est une commande introduite dans Git pour simplifier le changement de branches.
- Changer de branche : git switch ma-branche déplace HEAD pour pointer vers la branche spécifiée, mettant à jour l'espace de travail pour refléter son contenu.
- Créer et changer vers une nouvelle branche : git switch -c nouvelle-branche crée une nouvelle branche à partir de la branche courante et bascule dessus.
Rq: git switch est une commande introduite pour simplifier le changement de branches, en se focalisant spécifiquement sur cette tâche. Elle offre une manière plus intuitive de basculer entre les branches ou de créer de nouvelles branches. À l'inverse, git checkout est plus ancienne et plus polyvalente, utilisée non seulement pour changer de branches mais aussi pour restaurer des fichiers dans l'espace de travail, parmi d'autres fonctions. git switch vise à clarifier l'usage en séparant les fonctionnalités de gestion des branches de celles de manipulation des fichiers.