GIT

 Git est un logiciel de gestion de versions décentralisé, créé par Linus Torvalds en 2005, auteur du noyau Linux.
 C'est un outil de bas niveau, qui se veut simple et performant, dont la principale tâche est de gérer l'évolution du contenu d'une arborescence.
 Git indexe les fichiers d'après leur somme de contrôle calculée avec la fonction de hachage SHA-1. Quand un fichier n'est pas modifié, la somme de contrôle ne 
 change pas et le fichier n'est stocké qu'une seule fois. En revanche, si le fichier est modifié, les deux versions sont stockées sur le disque. 

 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 standards) peuvent aussi 
 être utilisés. 

 Quelques lien url pour se familiariser avec l'utilisation de git.

 - https://git-scm.com/doc
 - https://devdocs.io/git/

 Pour pouvoir uploader des fichiers binaires comme les agents TiNa ou LiNa qui ont une taille supérieur à 10 Mo, il faut installer sur sa station de travail au côté 
 du client git, comme par exemple GitHub Client, une application qui permettra d'ajouter, de committer, de puller et de pusher ces fichiers.

 Voici un site qui permet l'installation et la configuration de l'application GIT LFS :
 - https://medium.com/slickteam/pourquoi-et-comment-utiliser-git-lfs-771bcda478d0
 - https://github.com/git-lfs/git-lfs/wiki/installation

 Git LFS (Large File Storage) est une fonctionnalité de Git initialisée par GitHub en 2015, qui permet de stocker les fichiers "lourds" tels que les vidéos, 
 graphiques, grosses archives, et autres sur des serveurs distants grâce à des 
 pointeurs de texte. 
 Git LFS a été adopté par tous les logiciels de systèmes de gestion de Git, que ce soit Gitlab, Bitbucket, etc...

 Sur macOS, l'installation peut se faire avec homebrew :
 - $ brew update
 - $ brew install git-lfs
 - $ git lfs install

 Sur macOS, les commandes git
 Voici un exemple de modification d'un fichier d'un projet git localement qu'il faut mettre à jour vers le serveur.

 Ajoutez les modifications aux prochaines validations : Si vous avez des fichiers modifiés que vous voulez inclure dans la prochaine validation, utilisez :
 $ sudo git add -A -- /Users/sayer5/Documents/Gitlab/script-powershell/gestion-computers.ps1
 OU
 $ sudo git add <fichier1> <fichier2>

 Ou pour ajouter tous les fichiers modifiés :
 $ sudo git add . 

 Validez les modifications localement : Une fois les modifications ajoutées, créez une validation avec un message explicatif. 
 $ sudo git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file /Users/sayer5/Documents/Gitlab/script-powershell/gestion-computers.ps1
 OU
 $ sudo git commit -m "Message décrivant les modifications"

 Mettez à jour votre branche avec les dernières modifications du serveur : Avant de pousser les changements, il est recommandé de récupérer les dernières modifications depuis le serveur pour éviter les conflits.
 $ sudo git pull --tags origin main  

 Résolvez les conflits éventuels : Si des conflits apparaissent après le git pull, éditez les fichiers conflictuels pour les résoudre, puis ajoutez-les de nouveau avec git add. Finalisez avec une validation de résolution.
 $ sudo git commit -m "Résolution des conflits"

 Poussez les modifications vers le dépôt distant : Une fois que votre branche locale est à jour et que toutes les modifications sont validées, poussez les changements vers le dépôt distant.
 $ sudo git push origin main:main

 $ sudo git status
 On branch main
 Your branch is up to date with 'origin/main'.

 nothing to commit, working tree clean