Les images de ce blog proviennent de "Pro Git" de Scott Chacon, Ben Straub
Dans ce blog, vous découvrirez toutes sortes de faits intéressants sur certaines des fonctionnalités quotidiennes de Git que vous utilisez en programmation !
Il est facile pour les développeurs d'utiliser aveuglément des outils et de ne pas savoir comment ils fonctionnent sous le capot. Bien que ces abstractions soient pour le mieux, savoir comment les choses fonctionnent peut parfois faire la différence entre un programmeur chevronné et amateur.
Plongeons-nous dans quelques faits intéressants !
Si vous utilisez Git depuis un certain temps, vous devriez connaître le statut de git. Cependant, saviez-vous qu'il existe une option pour obtenir une sortie d'état plus lisible et minimale ?
En utilisant le drapeau d'état court, -s, vous obtenez un format plus compact.
$ git status -s M README MM Rakefile A lib/git.rb M lib/simplegit.rb ?? LICENSE.txt
Vous remarquerez qu'il y a 2 colonnes dans la section gauche de la sortie. La colonne de gauche représente l'état de la zone de transit, tandis que la colonne de droite représente l'état de l'arbre de travail. L'ordre chronologique des actions est également représenté de gauche à droite.
Interprétons le résultat ci-dessus :
Et si vous souhaitez mettre en scène vos fichiers suivis et les valider en une seule commande ?
Vous pouvez le faire en utilisant git commit -a -m "message".
Notez que les fichiers non suivis (fichiers nouvellement créés) ne seront malheureusement pas mis en scène avec cette commande magique.
Utilisez git log pour répertorier les validations effectuées dans votre référentiel dans l'ordre chronologique inverse (les validations les plus récentes apparaissent en premier).
Il existe différentes options qui vous permettent de personnaliser la sortie. Passons en revue quelques-uns utiles :
Lorsque vous souhaitez supprimer un fichier, utilisez git reset HEAD . Lorsque vous souhaitez annuler la modification d'un fichier modifié, utilisez git checkout -- {file}.
Il existe désormais un moyen plus simple de faire les deux ! La version 2.23.0 de Git a introduit git recovery, qui apporte une capacité 2-en-1 pour annuler et annuler la modification des fichiers.
Très probablement, vous avez utilisé git pull au moins une fois en tant que programmeur. De plus, vous avez probablement entendu parler de git fetch mais vous n'avez jamais vraiment eu besoin de l'utiliser. Eh bien, parlons de ce qu'il fait réellement et en quoi il est différent de git pull.
Vous pouvez considérer la récupération comme la première étape de ce qui se passe lors d'un tirage.
Dans un pull, nous téléchargeons toutes les données du référentiel distant et les transférons sur le référentiel local. C'est ce que fait une récupération.
À ce stade, votre référentiel local contient les données mais ne les a pas fusionnées avec le répertoire de travail afin que vous puissiez travailler sur les dernières modifications. La prochaine étape d'un pull est une fusion avec votre branche afin que les dernières modifications soient alors dans votre répertoire de travail.
Ainsi, un pull récupère et fusionne en même temps, tandis qu'un fetch ne fait que la première étape.
Et si je vous disais qu'il existe un moyen de rendre vos commandes git personnalisables ? Grâce au git config, vous pouvez !
Vous pouvez définir des alias pour les commandes fréquemment utilisées comme ceci :
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status
Maintenant, au lieu de taper git commit, il vous suffit de taper git ci.
Ceci est particulièrement utile pour les commandes qui contribuent à rendre une certaine tâche plus intuitive.
$ git config --global alias.unstage 'reset HEAD --' # the double dash serves as an option separator. # It tells Git to treat anything after it as a filename
La commande ci-dessus rend équivalentes les commandes suivantes :
It's also common to add a last command to see your most recent commit:
$ git config --global alias.last 'log -1 HEAD'
That's all for this blog! I hope you learned a few neat tricks for your next project with Git that will improve the quality of your workflow. Thanks for reading!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!