====== Git ====== Il a été développé à l'origine pour le noyau (//kernel//) linux. Les exemples mentionnent **framagit.org**, mais cela s'applique à n'importe quelle forges. ===== 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 ===== Tester si sa clé SSH est valide ===== Par exemple chez framagit.org. Il faut avoir au préalable, généré sa propre [[dvcs:framagit#ajout_d_un_cle_openssh|clée]], et configurer le fichier ''~/.ssh/config''. ssh git@framagit.org [...] PTY allocation request failed on channel 0 Welcome to GitLab, @olivierd! Connection to framagit.org closed. ===== Créer un dépôt ===== Il faut passer par l'interface Web de la forge. En théorie, il est possible de le faire en ligne de commande. Mais bien souvent cette fonctionnalité est bloquée par les forges. Par exemple chez framagit.org, si notre projet s'appelle "super-projet" : mkdir super-projet ; cd super-projet/ git init git remote add origin git@framagit.org:identifiant/super-projet.git git push -u origin main En général, on clone notre dépôt pour pouvoir commencer à travailler et envoyer nos modifications. Ci-dessous on clone en SSH (c'est à dire, on a un compte chez framagit.org). git clone git@framagit.org:identifiant/super-projet.git Si on a déjà un répertoire qui s'appelle "super-projet", on utilise cette commande : git clone git@framagit.org:identifiant/super-projet.git . Il faut remplacer **identifiant** par son propre identifiant ===== 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 nos modifications (c'est en local) : git commit -a Envoyer nos modifications vers un dépôt externe : git push 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 !) ===== Changer l'URL du dépôt distant, https → ssh ===== C'est utile, si l'on a cloné un dépôt distant directement en HTTPS. Dans ce cas, on ne s'est pas identifié. Pour connaître l'état actuel : git remote -v origin https://framagit.org/identifiant/super-projet.git (fetch) origin https://framagit.org/identifiant/super-projet.git (push) Puis git remote set-url origin git@framagit.org:identifiant/super-projet.git Il faut bien sûr remplacer : * **identifiant** → son identifiant * **super-projet** → par le nom réel du dépôt