Qu’est-ce que la gestion de versions ?
Un système de gestion de versions (VCS, version control system) est un programme ou un ensemble de programmes qui effectue le suivi des changements apportés à une collection de fichiers.
exemple : git
Git : c’est un outil en ligne de commande pour versionner les fichiers.
GITHUB : c’est une application web qui permet à partager les codes.
Télécharger et installer Git ici
Puis vous allez vérifier s’il est bien installé, ouvré un
Terminal
et tapé la commandegit --version
(vous verrez la version de git qui est installé).
Configurer Git
Avant de commencer vous devait configuré git :
Votre Identité :
Vous devez définir :
user.name
etuser.email
. Les deux sont nécessaires pour effectuer des commits mais il y a beaucoup de configuration.
$ git config --global user.name"votre nom d'utilisateur"
$ git config --global user.email"votre adresse mail"
Pour afficher les configurations taper la commande
$ git config --list ou git config -l
Commandes Git de base
git status
Permet de voir l'état de votre projet (pour voir qu’est ce qui se passe dans notre projet) en tapant la commande $ git status
git add
Permet d’ indexer les changements en vue de faire commit. Tous les changements apportés aux fichiers qui ont été ajoutés, mais qui n’ont pas encore été commités, sont stockés dans la zone d’indexation; c’est à dire en tapant $ git add
vous ajouter le fichier au projet et il est suivis.
$ git add nom_fichier.extension
pour ajouter un seul fichier et $ git add .
pour ajouter plusieurs fichiers.
git commit
Une commit c’est une photographie de l’état de votre projet. Après avoir ajouter le fichier, vous pouvez maintenant enregistrer votre travail en tapant la commande git commit
; cette commande est suivi d’ un message significatif sur le changement que vous avez fait git commit -m”message de votre commit”
.
Un commit est un travail de 3 étapes :
1) On sélectionne le fichier qu’on va ajouté pour faire le commit, grâce à la commande
$ git add nom_fichier.extension ou git add son_chemien.extension
.Exemple :
$ git add index.html
ou$ git add App/src/Hello.java
2) Un message significatif sur le changement de modifications faites
git commit -m "message de votre commit"
3) Pour voir les modifications appliquées grâce à la commande
$ git diff
et si vous voulez voir tout les commits depuis le début de votre travail$ git log
Vous pouvez éditer le message de commit si vous vous êtes trompé par exemple
git commit --amend -m"message de votre commit"
git branch
Pour chaque fonctionnalité on crée une branche. la création des branches ou les faits de travailler avec est recommandée pour des projets, et quand vous appliquez les modifications sur une branche que vous avez créée ça n’affecte pas la branche principale sa vous permet de travailler librement. Lorsque vous avez apporté les modifications souhaitées, vous pouvez fusionner votre branche dans la branche principale pour publier vos modifications.
Voici quelques commandes :
création de la branche
$ git branch nom_de_la_branche
cette commande permet d’affiché les branches disponibles
$ git branch
Cette commande vous permet de savoir dans quelle branche vous êtes.
$ git checkout nom_de_la_branche
pour basculer vert une autre branche, à noter que pour basculer vert une autre branche, vous devez d’abord créer votre branche $ git checkout nom_de_la_branche
.
git merge
garder tout l’historique de branchement et de retour
> - $ git checkout master
> - $ git diff master..nom_brache_future
> - $ git merge nom_branche_future
Explications :
- la premier commande vous permet d’allez vers la branche master
- la deuxième commande vous permet d’ afficher les modifications appliqués sur les deux branches
- la troisième “Mergé la branche future dans master”, on va prendre les changements fait dans la branche futur et le mettre dans la branche Master qui est la branche de développement officiel
Gérer les conflits
Vous vous demandez pour quoi il y a souvent le message de conflit
ce normal voici comment le geré. il y a conflit
si deux ou plusieurs développeurs ont fait des changements ou appliqué des modifications sur la même ligne (sur le même endroit), git ne sais pas quoi faire
à ce niveau il va générer un conflit
.
pour résoudre ce problème, le propriétaire du projet doit pendre une décision sur ce qui sera valider ( il peut contacter les autres développeurs pour prendre un compromis, puis rentré sur le projet pour valider ).
Après modification n oublier pas d ajouter le fichier et de renseigner le message de votre commit
$ git add index.html
$ git commit -m "message de votre commit"
ATTENTION : Une fois que vous avez finit avec vos branches il faut le supprimé, parce que ça ne serre à rien ( les données qu'elles contenaient est mergé sur la branche master et ce tout ).
Clean-up
Pour supprimer une branche
$ git branch -d nom_branche_à_supprimer
Note :
Si vous avez une branche avec des commits que vous voulez supprimer. si vous essayez de supprimer une branche qui contient des commits et qui ne pas mergé, GIT va renseigner une erreur en disent que la branche ne pas mergé
mais vous aimez vous débarrasser de la branche, alors utilisé cette commande.
Ici il n'y aura pas d'avertissement lors de la suppression de la branche
$ git branch -D nom_branche_à_supprimer
beaucoup utilise cette commande, surtout ce dans le cas où le travail fait sur la branche est pourrit, ce travail est nul
c'est aussi rapide et simple de supprimer une branche.
ATTENTION : La bonne pratique est de travail avec une branche (ou plusieurs ) parce que
si vous travail tous sur la branche MASTER avec plusieurs commits d'historique vous serrez obligé de rentrer voir quelle commit qu'il faut supprimer, est ce que vous comptez garder
.
Visualization
Il y a de site web qui peut vous aidez à comprendre plus avec des graphes
et testé des différentes choses.
git remote
Notion de serveur distant
Votre ordinateur [depôt]
<--------> Remote serveur [depôt]
à ce niveau il faut allez sur GITHUB est crée un dépôt (repository)
$ git remote add origin git@github.com:nom_d_utilisateur/nom_de_depôt.git
Après avoir crée le dépôt vous devez copier la commande donné par GitHub qui perme de pousser le dépôt.
$ git remote -v // pour vérifier si le remote est disponible
git push
git push
prend deux argiments le nom de serveur
et le nom de la branche
, origin
est le nom de serveur par défaut de git pour pousser sur github.
Pour pousser ou envoyer les commits de la branche vers la branche master
$ git push origin master
GIT va envoyé les codes sur github qui est en ligne, pour vérifier tout ces changements allez sur GITHUB vous verrez les modifications.
Note :
Maintenant que notre code ce trouve sur la machine et en ligne sur github.
git pull
Pour récupérer les commits (codes) de autresgit pull
prend aussi deux argiments le nom de serveur
et le nom de la branche
$ git pull origin master
Pull Requests
Team workflow
Un Pull Requests
ce le fait de contacter un développeur (ou le propriétaire du projet) sur les modifications réalisés s'il est d'accord ou pas à valider vos changements.
pour faire simple ce comme des mails que vous échangez avec les développeurs, vous pouvez même discuter sur le projet en mentionnant le nom de la personne ( @pseudo_du_développeur ) pour envoyer un message.
Page Github
Héberger votre site web gratuitement
Les projets qui se trouve sur Github il est hébergé là et si vous allez dans paramètre sur page github
il y a un lien (vous pouvez l'utilisé si vous avez mis ( on peut dire même héberger ) un projet déjà finit d'un site web
vous allez commencer à utiliser le lien et ce tout au lieux de payer le nom de domaine et le hébergement
voici comment l’url est décomposé http://user_name.github.io
qui donne http://adalbertpungu.github.io
CNAME :
CNAME
c'est la translation domaine vers domaine, Ici github vous permet de mettre votre propre domaine
.
Pour y arrive il faut créer un fichier CNAME.txt en majuscule puis mettais le nom de domaine que vous voulez que github remplacer comme lien, il remplacera .github.io
( configurer votre DNS pour que sa pointe correctement ).
Suivez moi sur twitter : https://twitter.com/AdalbertPungu