Table of Contents
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
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 d’automatiser 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"