====== Git ======
Il a été développé à l'origine pour le noyau (//kernel//) linux.
===== Paramétrage =====
Pour personnaliser son environnement, on doit modifier certaines variables, grâce à l'option **config**.
Par exemple, pour ses identifiants (prénom, mail) :
git config --global user.name "..."
git config --global user.email ...
Par défaut la branche principale s'appelle //master// (pour certains utilisateurs, elle a une connotation négative) donc bien souvent elle est renommée en //main//.
Ce réglage est par défaut chez framagit.org.
git config --global init.defaultBranch main
----
Pour utiliser un éditeur de texte particulier :
git config --global core.editor ...
Pour connaître la liste complète des réglages :
git config --list
===== Quelques commandes utiles =====
Ajouter des fichiers
git add ...
Connaître l'état du dépôt (savoir si des fichiers ont été modifiés)
git status
Enregistrer les modifications
git commit -a
Envoyer les modifications du dépôt sur un dépôt externe à celui en local
git push
===== Récupérer les sources =====
D'une manière générale, pour obtenir les sources d'un logiciel, il faut utiliser l'option **clone**.
git clone https://git.domain.tld/project
==== Sélectionner une branche particulière ====
Cela dépend, comment le dépôt est utilisé. Lorsqu'une branche est parfaitement identifiable par une étiquette, on peut procéder de la manière suivante.
git clone -b --single-branch https://git.domain.tld/project
==== Sélectionner un « tag » ====
Au cours de l'évolution d'un logiciel son ou ses développeur(s) préfère(nt) utiliser des //tags//, cela permet d'identifier les différentes versions.
Il faut au préalable //cloner// le dépôt distant.
git tag
git checkout
Ou git checkout tags/...
* **git tag** → liste tous les tags
* **git checkout ** → spécifie la « révision » souhaitée
* **...** → spécifie le tag souhaité
* **git status** → vérification du dépôt
===== Proposer un patch =====
Si on a trouvé un //bug//, et, que l'on a un correctif. Pour en faire profiter le mainteneur, on doit lui envoyer notre //patch//. Voici la démarche à suivre ((Certains projets exigent d'autres compléments)).
On travaille uniquement sur notre propre branche ''git branch correctif; git switch correctif''.
On effectue nos modifications, ensuite on doit les sauvegarder.
git commit -a
Le //patch// sera généré avec la commande ''git format-patch''.
git format-patch origin/master
Dans certains dépôt la branche principale //master// porte un autre nom //main//.
===== Changer l'URL du dépôt distant, https → ssh =====
Pour connaître l'état actuel :
git remote -v
origin https://example.com/ACCOUNT/repo.git (fetch)
origin https://example.com/ACCOUNT/repo.git (push)
Puis
git remote set-url origin git@example.com:ACCOUNT/repo.git
Il faut bien sûr remplacer :
* **ACCOUNT** → son identifiant
* **repo** → le nom du dépôt
===== Annuler une ou plusieurs modifications =====
Si l'on a pas encore //commité//, via l'option ''git commit -a'' les modifications faites dans notre dépôt local (ceci va annuler les modifications !)
git checkout .