Et si la machine sur laquelle j'ai commencé ce projet tombait en panne?
Et si je voulais continuer de travailler depuis une autre machine?
Et si je voulais qu'un autre regarde(révise) mon code pour me donner son avis?
Et bien un git push
suffira pour cela!
Salut à toi et bienvenue pour cette introduction à Git par la pratique!
Objectif
Notre objectif est de mettre en place une routine permettant avec notre projet de pouvoir:
Pour y arriver, nous allons utiliser Git, un outil de gestion de versions.
Définition
Git est un logiciel permettant de suivre les modifications sur un ensemble de fichiers(un projet)
Git est un système de gestion de versions(de code source) de type distribué(la base de code est distribuée à tous ceux pouvant la lire).
Une fois initialisé, Git créait une branche(une vesion du projet) par défaut
master
.Une fois initialisé, Git créait et exploite 3 espaces de travail pour tracker les modifications sur un ou plusieurs fichiers de la base de code.
- Un repertoire de travail,
- Un index,
- Un pointeur sur le dernier commit
Un commit est un point dans l'historique figeant la version des fichiers du projet.
Toutes les manipulations suivantes reviennent en fait à modifier la version du code source sur un ou plusieurs des espaces de travail de Git.
Avant de continuer…
Pour pouvoir exploiter la puissance de Git, tu dois tout d'abord l'installer sur ta ou tes machines. Cette procédure dépend du systême d'exploitation de la machine en question:
- Pour installer Git sur un Mac, suis ce lien
- Pour installer Git sur Linux, suis ce lien
- Pour installer Git sur Windows, suis ce lien
À ce stade, Git est installé et prêt pour votre premier projet. Il est donc temps d'essayer d'atteindre notre objectif.
1 - Travailler sur son code depuis n'importe quelle machine
Pour chaque projet(base de code) pour lequel nous souhaitons permettre l'accès de n'importe quelle machine, sera question de le créer(il doit être contenu dans un dossier qui servira de conteneur à Git) puis d'adopter la routine suivante.
Supposons que notre projet est un site web:
Créons le dossier du projet:
site web
pour moiInitialisons Git sur le projet:
- on ouvre le terminal sur dans le dossier du projet
- on tape la commande
git init
Figer cette version de nos fichiers avec un commit
- on passe notre version du repertoire de travail à l'index avec
git add .
- on configure notre email git
git config --global user.email "$votre_addresse_email"
- on configure ensuite notre nom sur git avec
git config --global user.name "$votre_nom"
- on créait un instantanné de la version actuelle avec
git commit -m "Version initiale"
veuillez remplacer$votre_nom
et$votre_addresse_email
convenablement.
- on passe notre version du repertoire de travail à l'index avec
Sauvegarder le projet dans un dépôt
- on commence par créer gratuitement un compte sur github.com, gitlab.com ou bitbucket.com qui sont des prestataires Git sur le cloud
- on va ensuite créer un dépôt depuis notre compte github(vous pouvez faire de même sur gitlab ou bitbucket)
- on va ensuite utiliser les instructions affichée après la création du projet pour lier notre projet local avec le dépôt pour ma part,
git remote add origin https://github.com/alkaj/movie-cover
Lire le dépot depuis une machine
- Commencez par vérifier que git est bien installé sur cette machine avec
git --version
- Avec le lien vers du depot cloner notre projet
git clone https://github.com/alkaj/movie-cover
- Commencez par vérifier que git est bien installé sur cette machine avec
Effectuer et figer les modifications
- Après avoir apporté les modifications voulues à notre code, on va:
- les ajouter à l'index git avec
git add .
- les figer avec un commit
git commit -m "Ajout de nouvelles images"
- les ajouter à l'index git avec
- Après avoir apporté les modifications voulues à notre code, on va:
Mettre à jour le dépôt
En effectuant la commandegit clone ...
plus haut, git a créé notre projet et a directement configuré le dépot origin sur le lien duquel nous avons cloné.on va vérifier que le dépôt
remote
est configuré avecgit remote -v
Recommencer depuis l'étape 4 de n'importe quelle machine
2 - Collaborer avec d'autres
Pour ceci, il suffit de partager le lien de notre dépôt ou d'en obtenir un via une relation ou github, gitlab et bitbucket qui offrent de pouvoir explorer les projets publics puis d'executer les étapes plus haut à partir de l'étape 4... regardes par exemple mon design d'une couverture de filme ici
Bonus
As-tu déjà voulu pour adopter une approche différente d'implémentation d'une fonctionalité sur un projet après avoir écris beaucoup de code dessus revenir sur la version des fichiers avant l'essai?
Un gros oui pour moi!!
- La commande
git clean
enlèvera(supprimera) toutes les modifications non encore ajoutées à l'index Git - La commande
git stash
enrégistrera toutes modifications apportées au repertoire de travail et de l'index git pour que la version sous le pointeur(HEAD) soit disponible dans l'index et dans le repertoire de travail.
Il suffit ensuite de taper la commandegit stash drop
pour effacer cet enrégistrement ougit stash pop
sur une nouvelle branche pour travailler dessus sans affecter le travail précédent.
Conclusion
Débutant ou expérimenté dans l'écriture du code, il est des situations ou il serait idéal de versionner son code(créer des checkpoints) au cas ou une regression serait introduite et de le garder au moins sur un emplacement distant en cas de soucis avec la station de travail locale ou simplement pour pouvoir travailler dessus depuis differentes stations de travail et faciliter la collaboration dessus, Git est l'outils pensé pour cela et comme vous venner de le voir sa prise en main est plutôt simple!