
Git / Github
Gestion de versions
Git est un logiciel de gestion de version. Il permet de créer un dépôt local décentralisé sur notre machine. Github est la principale plateforme d’hébergement de projets de développement sur le web où l'on sauvera notre dépôt distant.
Mon environnement
Windows 10 et terminal Powershell
Installation de git: Lien vers git
Création de mon compte GitHub: Lien vers Github
Dans le cadre de mon travail, j'utilise plutôt GitLab.
Configuration
A faire la première fois dans un terminal
git config
La commande git config permet de configurer son git. Commençons par définir notre login et notre email lié à notre compte GitHub.
-
> git config --global user.name "mon_login" > git config --global user.email mon_email@mailbox.com > git config user.name mon_login
Configurer les couleurs par défaut
-
> git config --global color.diff auto > git config --global color.status auto > git config --global color.branch auto
Changer l'éditeur en notepad et l'outil de merge en vimdiff
-
> git config --global core.editor notepad.exe > git config --global merge.tool vimdiff
Lister les paramètres de configuration
Pour finir, nous allons vérifier que les paramètres de configuration que nous avons renseignés sont corrects.
-
> git config --list
Création de mon premier dépôt local
Pour la gestion de versions de son projet de développement sur son poste
On va se placer dans le répertoire de travail contenant son nouveau projet de développement et ouvrir un terminal.
Initialisation de son dépôt local
La commande git init initialise un dépôt vide avec le répertoire .git.
-
> git init
Ignorer certains fichiers
Ajouter un fichier .gitignore dans son répertoire de travail afin d'y lister les fichiers ou répertoires que l'on veut ignorer.
-
/env .gitignore mon_répertoire mon_fichier *.xls
Voir les fichiers qui peuvent être ajoutés à l'index
-
> git status
Ajouter tous les fichiers à l'index
-
> git add .
Enregistrer les modifications dans le dépôt local
-
> git commit -m "Mon premier commit"
Création de mon premier dépôt distant
Pour sauver et partager son projet
Se connecter à son compte GihHub dans son navigateur
Cliquer sur New
Renseigner le nom de son dépôt par exemple mon_depot et choisir un dépôt publique ou privé.
Le dépôt distant sera créé avec l'url suivant:
-
https://github.com/mon_login/mon_depot.git
Du dépôt local vers mon dépôt distant
Pour envoyer son commit sur le dépôt distant
Commande push
Les commandes suivantes, à saisir dans le terminal la première fois, permettent de faire le lien entre le dépôt local et le dépôt distant, de se placer dans la branche principale et d'envoyer le commit vers le dépôt distant.
-
> git remote add origin https://github.com/nicot3m/mon_depot.git > git branch -M master > git push -u origin master
Pour les prochains commits
Il faudra saisir à nouveau les commandes suivantes:
-
> git status > git add . > git commit -m "Mon commentaire" > git push"
Du dépôt distant vers mon répertoire local
Récupérer un dépôt distant ou mettre à jour le dépôt local à partir du dépôt distant
Si on n'a pas encore de dépôt local, on peut utiliser la commande clone.
Dans l'exemple suivant, on crée un dépôt local qui est un clone de mont dépot distant mon_depot.git dans le répertoire local.
-
> git clone https://github.com/nicot3m/mon_depot.git
Si on a déjà un dépôt local, il suffit d'utiliser la commande pull.
Ainsi, le dépôt local sera mis à jour à partir du dépôt distant.
-
> git pull
Les branches
Il est possible de créer des branches esclaves rattachées à la branche master.
On crée d'abord une branche dev puis par exemple une branche pour une nouvelle fonctionnalité ou un hotfix.
La commande branch, utilisée sans argument, permet de lister les branches existante et de voir la branche active (avec une étoile).
Dans l'exemple suivant, on n'a que la branche master et elle est active.
-
> git branch * master
La commande branch suivi d'un nom permet de créer une nouvelle branche.
Dans l'exemple suivant, on crée la branche de puis on liste à nouveau les branches.
-
> git branch dev > git branch dev * master
La commande checkout permet de se placer dans une branche.
Dans l'exemple suivant, on se place dans la branche dev.
-
> git checkout dev > git branch * dev master
Il faut maintenant pousser la nouvelle branche sur le dépôt distant avec la commande git push et l'option --set-upstream.
Dans l'exemple suivant, on pousse la branche dev sur GitHub.
-
> git push --set-upstream origin dev
Mettre à jour la branche parent à partir de la branche esclave avec la commande merge.
Dans l'exemple suivant, après avoir modifié un fichier dans la branche dev et fait un commit que l'on a poussé sous GitHub, on merge la branche dev dans la branche master. Il faut ensuite faire un push de la branche master modifiée sur le dépôt distant.
-
> git checkout master > git merge dev > git push