Utilisateur:Pierfort/octoDEXdoc

Les serveurs Git utilisent par défaut le port 9418

pour le protocole spécifique à GIT. Les protocoles HTTP, HTTPS et SSH (et leurs ports standard) peuvent aussi être utilisés. HTTP, HTTPS SSH

Git possède deux structures de données :

  • une base d'objets
  • cache de répertoires.

    Il existe quatre types d'objets :


  • l'objet = blob =, qui représente le contenu d'un fichier (l'origine de cette dénomination est probablement à chercher dans les Binary Large OBjects des bases de données).
  • l'objet =tree= (mot anglais signifiant « arbre »), qui est une liste d'objets de type blobs et des informations associées à chaque blob, tel que le nom du fichier et les permissions. Cet objet décrit l'arborescence des sources à un instant donné.
  • l'objet =commit= ici dans le sens de « confirmer », « valider ») et, qui donne accès à l'historique d'une arborescence de source. Il contient un message de log, un objet arbre et pointe vers un ou plusieurs objets commit parents.
  • l'objet =tag= (étiquette) qui est une manière de représenter un commit spécifique. Il est en général utilisé pour marquer certains commits, par exemple par un numéro ou un nom de version
  • La base des objets peut contenir n'importe quel type d'objets. Une couche intermédiaire, utilisant des index (les sommes de contrôle), établit un lien entre les objets de la base et l'arborescence des fichiers.

    Chaque objet est identifié par une somme de contrôle SHA-1 de son contenu. Git calcule la somme de contrôle et utilise cette valeur pour déterminer le nom de fichier de l'objet. L'objet est placé dans un répertoire dont le nom correspond aux deux premières lettres de la somme de contrôle. Le reste de la somme de contrôle constitue alors le nom du fichier pour cet objet.

    Git enregistre chaque révision dans un fichier en tant qu'objet blob unique. Les relations entre les objets blobs sont déterminées en examinant les objets commit. En général, les objets blobs sont stockés dans leur intégralité en utilisant la compression de la zlib. Ce principe peut rapidement consommer une grande quantité de place disque ; de ce fait, les objets peuvent être combinés dans des archives, qui utilisent la compression différentielle (c'est-à-dire que les blobs sont enregistrés sous la forme de différences par rapport aux autres blobs).

    Quelques commandes Git dispose notamment des commandes suivantes


    git init crée un nouveau dépôt.
    git clone clone un dépôt distant.
    git add ajoute de nouveaux objets blobs dans la base des objets pour chaque fichier modifié depuis le dernier commit. Les objets précédents restent inchangés.
    git commit intègre le haché d'un objet tree et les hachés des objets commits parents pour créer un nouvel objet commit.
    git branch crée une nouvelle branche de développement.
    git merge fusionne plusieurs branches de développement.