Les meilleurs tutoriels Git

Git est un système de contrôle de version distribué open source créé en 2005 par Linus Torvalds et d'autres de la communauté de développement Linux. Git peut fonctionner avec de nombreux types de projets, mais il est le plus couramment utilisé pour le code source des logiciels.

Le contrôle de version est un système qui assure le suivi des modifications apportées à un fichier ou à un groupe de fichiers au fil du temps. Lorsque vous disposez d'un historique de ces modifications, il vous permet de rechercher des versions spécifiques ultérieurement, de comparer les modifications entre les versions, de récupérer les fichiers que vous avez peut-être supprimés ou de rétablir les versions précédentes.

Un système de contrôle de version distribué signifie que différents utilisateurs gèrent leurs propres référentiels d'un projet, au lieu de travailler à partir d'un référentiel central. Les utilisateurs ont automatiquement des capacités complètes de suivi des fichiers et l'historique complet des versions du projet sans avoir besoin d'accéder à un serveur central ou à un réseau.

Lorsque Git est initialisé dans un répertoire de projet, il commence à suivre les modifications du fichier et les stocke sous forme de «jeux de modifications» ou de «correctifs». Les utilisateurs travaillant ensemble sur un projet soumettent leurs ensembles de modifications qui sont ensuite inclus (ou rejetés) dans le projet.

freeCodeCamp propose une liste de lecture YouTube avec de nombreux conseils pratiques sur Git et GitHub ici.

Autres tutoriels:

  • Le livre Pro Git, écrit par Scott Chacon et Ben Straub et publié par Apress. Le livre est affiché en entier dans la documentation Git.
  • Pour les téléchargements, la documentation et un didacticiel basé sur un navigateur: site Web officiel de Git
  • Commandes les plus utiles lorsque vous êtes dans une mauvaise situation GIT: Oh s ***, git!

Comprendre les trois sections d'un projet Git

Un projet Git aura les trois sections principales suivantes:

  1. Répertoire Git
  2. Répertoire de travail (ou arbre de travail)
  3. Zone de transit

Le répertoire Git (situé 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 répertoire de travail 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 préparation est un fichier (également appelé «index», «étape» ou «cache») qui stocke des informations sur ce qui va entrer 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 quels et stocke définitivement cet instantané dans le répertoire Git.

Avec trois sections, il existe trois états principaux dans lesquels un fichier peut se trouver à tout moment: validé, modifié ou intermédiaire. 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 transit. Enfin, il est commis après un commit.

Installez Git

  • Ubuntu: sudo apt-get install git
  • Windows: Télécharger
  • Mac: Télécharger

Configurer l'environnement Git

Git dispose d'un git configoutil qui vous permet de personnaliser votre environnement Git. Vous pouvez changer 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: situé dans /etc/gitconfig, applique les paramètres par défaut à chaque utilisateur de l'ordinateur. Pour apporter des modifications à ce fichier, utilisez l' --systemoption avec la git configcommande.
  2. Utilisateur: situé dans ~/.gitconfigou ~/.config/git/config, applique les paramètres à un seul utilisateur. Pour apporter des modifications à ce fichier, utilisez l' --globaloption avec la git configcommande.
  3. Projet: situé dans YOUR-PROJECT-PATH/.git/config, applique les paramètres au projet uniquement. Pour apporter des modifications à ce fichier, utilisez la git configcommande.

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 Windows: Git recherche le fichier de configuration de niveau utilisateur ( .gitconfig) dans votre $HOMErépertoire ( C:\Users\$USER). Git recherche également /etc/gitconfig, bien que ce soit relatif à la racine MSys, 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 C:\Documents and Settings\All Users\Application Data\Git\configsur Windows XP et C:\ProgramData\Git\configsur Windows Vista et plus récent. Ce fichier de configuration ne peut être modifié qu'en git config -f FILEtant qu'administrateur.

Ajoutez votre nom et votre e-mail

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

git config --global user.name "My Name" git config --global user.email "[email protected]"

Changer 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' --waitoption dit au shell d'attendre l'éditeur de texte pour que vous puissiez y faire votre travail avant que le programme ne continue):

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

Ajouter de la couleur à la sortie Git

Vous pouvez configurer votre shell pour ajouter de la couleur à la sortie 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 cdcommande 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 depuis 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 shell. Pour naviguer, faites défiler avec les touches fléchées haut et bas ou utilisez les raccourcis clavier suivants:

  • fou spacebarpour faire avancer la page
  • b retourner à la page
  • q quitter

Différence entre Git et GitHub

Git et Github sont deux choses différentes. Git est le système de contrôle de version, tandis que GitHub est un service d'hébergement de dépôts Git qui aide les gens à collaborer sur l'écriture de logiciels. Cependant, ils sont souvent confondus à cause de leur nom similaire, du fait que GitHub repose sur Git et parce que de nombreux sites Web et articles ne font pas la différence assez clairement.

Git n'est pas GitHub

Git

Git est le système de contrôle de version distribué. Git est responsable du suivi des modifications apportées au contenu - généralement des fichiers de code source.

Pour plus d'informations, il existe un article complet sur Git lui-même.

GitHub

GitHub est un service qui fournit un hébergement de référentiel Git. Cela signifie qu'ils fournissent une solution clé en main pour héberger des référentiels Git sur leurs serveurs. Cela peut être utile pour conserver une sauvegarde de votre référentiel (Git ne suit que les modifications apportées à vos fichiers au fil du temps; le référentiel doit encore être sauvegardé), et pour avoir un emplacement centralisé pour conserver et partager votre code avec d'autres.

Plus qu'un simple service d'hébergement de référentiel Git, GitHub est une forge logicielle. Cela signifie qu'il fournit également un outil de suivi des problèmes, des outils de révision de code et d'autres outils pour collaborer avec d'autres personnes et créer des logiciels.

GitHub n'est pas le seul à fournir ce type de service. L'un de ses principaux concurrents est GitLab. Pour en savoir plus, consultez la section sur l'hébergement Git.

Comment s'authentifier avec GitHub en utilisant SSH

Vérifiez qu'il n'y a pas de rsafichiers ici avant de continuer, utilisez:

ls -al ~/.ssh

S'il n'y a rien à lister (c'est-à-dire : No such file or directory), utilisez:

mkdir $HOME/.ssh

S'il n'y a rien, générez un nouveau keygen avec:

ssh-keygen -t rsa -b 4096 -C [email protected]

Maintenant, l'utilisation ls -al ~/.sshaffichera notre id_rsa.pubfichier.

Ajoutez la clé SSH à l'agent SSH:

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

Ajoutez la clé RSA à SHH avec:

ssh-add ~/.ssh/id_rsa

Copiez votre clé dans le presse-papiers

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

Accédez à votre page de paramètres GitHub et cliquez sur le bouton `` Nouvelle clé SSH '' et collez votre clé générée.

Puis authentifiez-vous avec:

ssh -T [email protected]