4 03 Utilisation basique de Git
Eragon edited this page 2024-03-14 14:48:15 +01:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Petit rappel d'utilisation de Git.

Présentation dans le terminal

Configuration de Git

Avant toutes choses il va vous falloir configurer Git.
On va donc dire à Git quelques informations pour son fonctionnement.
On commence par lui dire un pseudo à utiliser (libre à vous de choisir un pseudo qui vous va)

git config --global user.name "votre_pseudo"

Puis on va dire à Git quel adresse mail utiliser

git config --global user.email moi@email.com

Enfin je vous invite à faire les commandes suivantes pour définir quelques alias et ajouter la couleur dans les commandes de Git (libre à vous de ne pas le faire).

# Pour la coloration
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
# Pour les alias
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.st status
git config --global alias.br branch

Enfin si vous voulez éditer le fichier de configuration globale à la main c'est possible, sous Linux il est dans ~/.gitconfig, sous Windows ou Mac je ne sais pas... désolé.

Initialisation du dépôt

Pour la plupart des commandes suivantes je part du principe que vous êtes sous un environnement de type Unix(Linux, Mac), toutes les commandes sont à exécuter dans un terminal.

mkdir mon_dépôt_test # On crée un nouveau dossier pour notre dépôt.
cd mon_dépôt_test # Et on rentre dans le dossier.

Bon jusque là c'était pas des commandes Git.
Passons à la création du dépôt lui-même.

git init # On initialise un nouveau dépôt Git.

cela va avoir pour effet de créer un nouveau dossier caché au nom de .git dans lequel Git va tout stocker.

Statut

Comment savoir ce qui à changé depuis le dernier commit ?
La commande est simple c'est git status.
En l'état actuel Git doit dire qu'il n'y a strictement rien qui a changé.
On va donc pouvoir créer un fichier(dans ce dossier) de la façon que tu préfère, graphiquement ou en terminal(touch test.txt), puis un git status devrais nous dire qu'il y à un nouveau fichier.
Git étant bien fait il devrais vous inviter à faire un git add <fichiers> pour ajouter le/les nouveaux fichiers.
Faites-le puis refaites un git status.

Commit

Nous allons maintenant passer au vif du sujet, pour faire un commit il faut premièrement ajouter les fichiers à Git, lui dire de regarder les modifications sur ces fichiers là.
On peu donc retrouver la commande git add <fichiers> c'est elle qui permet de suivre les fichiers, les ajouter à Git.
Puis on peut faire notre commit, pour cela il y a plusieurs façons de faire.

git commit -m <message des modifications>

ou

git commit

qui va vous ouvrir un éditeur de texte(nano, vim, emacs...) dans lequel vous pourrez éditer et ajouter votre message de commit.

Mettre en pause le travail actuel

Pour mettre en pause et sauvegarder votre travail en cours faites un simple.

git stash

Puis vous pouvez changer de branche et faire vos modifications comme vous les voulez.
Une fois votre travail fini et commité vous pouvez faire un git stash apply pour revenir ou vous en étiez dans votre travail.

Changement de branche

git checkout <nom_de_la_branche>

Attention à bien commiter ou mettre en pause avant de changer de branche.

Création d'une nouvelle branche

Pour créer une branche à partir du commit actuel sans changer de branche courante faites un

git branch <nom_de_la_branche>

Ou pour changer de branche au moment de sa création

git checkout -b <nom_de_la_branche>

Les serveurs distants

On va ajouter une url de serveur distant à notre dépôt.

git remote add origin url_ssh_du_depot

ou

git remote add origin url_https_du_depot

git pull # récupération des modifications existantes
git push -u origin branche # la première fois
git push # après la première fois

Présentation avec une interface graphique

Gitg, une interface graphique pour Git.
Vous pouvez donc voir un magnifique arbre Git dans Gitg.
Ici on peu observer plusieurs choses :

  • L'arborescence Git dans la partie principale avec des commentaires à coté, ces commentaires sont les textes de commits.

  • A droite on voit les dates des commits, et juste à coté leurs auteurs(ici il y a Dark Storm, Suruq, Lephe et moi(Eragonfr/Eragon je ne sais pas pourquoi j'ai deux pseudo Git))

  • Et à gauche il y a les branches, ici il y à 5 branches locales(master, tests_ds, forum_tutos, error_pages et v5_flask) et 4 branches distantes sur origin(forum_tutos, master, error_pages et v5v5_flask).
    Origin, amael et fork sont trois dépôt distants avec lequel je peu synchroniser mon repertoire local, git est donc plein de ressources et permet ainsi une plus grande flexibilité.
    Ici, origin est le dépôt principal, fork est mon fork du dépôt et amael est le fork d'Amaël j'ai donc les avancés de trois dépôt différents dans un seul dépôt local

  • Sous les branches il y à les étiquettes, ici il n'y en à une seule au nom de stash.

Gitg n'est pas le seul moyen d'avoir Git en interface graphique d'autres logiciels comme Gitk, Gitkraken ou SublimeGit le permettent aussi,
mais ces outils sont souvent plus lent et moins efficaces que le terminal pour travailler avec Git,
c'est pourquoi j'ai commencé à présenter Git dans le terminal. Et je n'aborderai pas le fonctionnements de ces logiciels ici.

Crochets de transaction (hooks)

Git propose de lancer des scripts lors des transactions, afin dautomatiser des vérifications ou autres. Certains sont fournis avec la v5, si vous souhaitez les utiliser changez le dossier où git va les chercher :

user@host ~/PCv5 $ git config core.hooksPath "./hooks"