====== 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 .