
Dans cet article, nous aborderons diverses commandes Git qui peuvent être utiles à un développeur ou à un spécialiste du Big Data. Vous apprendrez à vérifier, supprimer et ranger votre code. Nous examinerons également les moyens de quitter Vim et de gagner du temps en utilisant les alias Bash et la configuration de l'éditeur Git.
Skillbox recommande: Cours pratique "Mobile Developer PRO" .
Nous vous rappelons: pour tous les lecteurs de «Habr» - une remise de 10 000 roubles lors de l'inscription à un cours Skillbox en utilisant le code promo «Habr».
Nous vérifions tout et tout

- git diff - Voir toutes les modifications de fichiers localement. Si vous spécifiez un nom de fichier, les modifications ne seront affichées que pour lui.
- git log - Afficher l'historique des validations. Peut également être utilisé pour un fichier avec git log -p mon_fichier. Tapez q pour quitter.
- git blame my_file - Voir qui, quoi et quand changé dans mon_fichier.
- git reflog - Affiche le journal des modifications dans l'en-tête du référentiel local. Une excellente option pour trouver des données perdues.
Ces commandes vous permettent de vérifier rapidement tout ce dont vous avez besoin, sans aucun problème. Si quelque chose ne va pas, Git fournit un grand nombre d'options pour supprimer ou annuler les validations et les modifications des fichiers.
Retour tel qu'il était
- git reset, git checkout et git revert sont des commandes utilisées pour annuler toute action. Mais ils ne sont pas si simples, ils doivent être capables de gérer.
- git reset, git checkout peut être utilisé pour les validations et les fichiers normaux.
- git revert est utilisé uniquement pour les validations.
Si vous travaillez avec vos propres validations locales, qui ne sont en aucun cas liées au travail d'équipe, vous pouvez utiliser toutes les commandes répertoriées sans problème.
Si vous travaillez en équipe et que les commits sont courants, votre choix est git revert.

Chaque équipe dispose d'un ensemble d'options. Voici les plus utilisés:
git reset --hard HEAD - annule les modifications indexées et non indexées depuis le dernier commit.
Nous spécifions un commit spécifique au lieu de HEAD afin d'annuler les changements survenus après. --les deux types de changements mentionnés ci-dessus sont ignorés.
N'oubliez pas de vous assurer que vous n'annulez pas la validation de la branche publiée, dont dépendent les autres membres de l'équipe.
git checkout my_commit - discard change my_commit.
HEAD est souvent utilisé pour my_commit pour annuler les modifications apportées à votre répertoire de travail local depuis le dernier commit.
le paiement est mieux utilisé pour les annulations locales. Dans ce cas, les validations de la branche distante dont dépendent vos collègues ne seront pas affectées!
Si vous utilisez l'extraction avec une branche au lieu d'une validation, HEAD bascule vers la branche spécifiée et le répertoire de travail est mis à jour pour correspondre aux modifications. Il s'agit de l'utilisation la plus courante de cette commande.
git revert my_commit - annule les conséquences des modifications apportées à my_commit. revert exécute un nouveau commit une fois la modification annulée.
revert est sans danger pour les projets généraux car l'équipe n'écrase pas les modifications dont d'autres branches peuvent dépendre.

Parfois, vous souhaitez simplement supprimer les fichiers non suivis dans votre répertoire local. Par exemple, en exécutant une sorte de code qui a créé de nombreux types de fichiers différents dont vous n'avez pas besoin. Désolé. Clean aide à les supprimer instantanément!
git clean -n - supprime les fichiers non suivis dans le répertoire de travail local.
-n - indicateur de test, rien n'est supprimé.
-f - indicateur de suppression de fichiers.
-d - indicateur pour supprimer les répertoires non suivis.
Par défaut, les fichiers .gitignore non suivis ne seront pas supprimés, mais cela peut être modifié.

Passer des commandes
git commit --amend - ajoute des changements progressifs au dernier commit.
Si rien n'est indexé, la commande vous permet d'éditer le dernier message du commit. N'utilisez la commande que si la validation n'a pas été fusionnée avec la branche maître distante.
git push my_remote --tags - envoie des balises locales à un référentiel distant. Une bonne option pour attribuer des versions aux modifications.
Au secours, je suis coincé à Vim et je ne peux pas sortir!
Git ouvre dans certains cas une session d'éditeur Vim. Et si vous ne le connaissez pas trop, vous pourriez vous retrouver dans une situation difficile. Et pas seulement vous - par exemple, sur Stack Overflow, plus de 4 000 utilisateurs veulent savoir comment sortir de Vim.

Voici un plan en quatre étapes pour vous aider à fermer Vim et à enregistrer les modifications:
- Cliquez i.
- Saisissez le message de validation sur la première ligne.
- Esc.
- Entrez: x.
Tout, vous êtes libre!
Modifiez l'éditeur par défaut.
Vous pouvez vous débarrasser complètement de Vim si vous changez l'éditeur par défaut. Voici les
commandes pour travailler avec des éditeurs populaires. Un exemple de choix d'un autre éditeur, dans notre cas Atom:
git config --global core.editor "atom --wait"
Raccourcis pour les commandes Git
Et voici une méthode qui vous permet d'ajouter des raccourcis aux commandes Git pour votre .bash_profile.
alias gs='git status ' alias ga='git add ' alias gaa='git add -A ' alias gb='git branch ' alias gc='git commit ' alias gcm='git commit -m ' alias go='git checkout '
Vous trouverez plus d'informations sur .bash_profile
ici .
Comme pour la méthode ci-dessus, vous pouvez maintenant utiliser gs au lieu de git status.
En fait, c'est tout pour aujourd'hui. Si possible, indiquez dans les commentaires quelles commandes Git vous utilisez et pourquoi.
Skillbox recommande: