Utilisation Simplifier de Git
Git fonctionne de manière simple : Un dépôt local et Un dépôt Distant.
Le dépôt local peut très bien fonctionner sans dépôt distant, il permettra d’effectuer des commit et une gestion de version sans avoir besoin de dépôt distant.
L’utilité du dépôt distant est de pourvoir mettre a disposition les sources pour un travail collaboratif, ou, tout simplement, pour sauvegarder ces sources ailleurs …
Le dépôt Local
La création d’un dépôt local peut se faire n’importe ou, quelque soit le dossier et son contenue.
Il suffit pour cella de se rendre dans le répertoire en question et de lancer les commandes suivantes :
1 2 3 |
git init git add . git commit -am "Commit initial" |
Ceci étant fait, notre dossier est désormais versionné sur notre depots git local.
Le dépôt Distant
Le dépôt distant lui vient en plus de notre dépôt local. il existe 2 manieres de commencer avec un dépôt distant :
- Soit a partir d’un dépôt local existant : Envoi des sources sur le dépôts distant
- Soit a partir des sources déja disponibles sur le dépot distant : Recuperation des sources existante
Envoi d’un dépôt local vers le dépôt distant
Pour cella, rien de plus simple. Dans notre dépôt local de git, il faudra spécifier url du dépot ditant grace a la commande suivante :
1 |
git remote add origin https://[URL_DE_MON_DEPOT]/principal.git |
et envoyer les sources (qui contienne au minimum un premier commit) avec la commande suivante :
1 |
git push -u origin master |
A partir de la, nos sources sont a disposition a distance.
Il sera alors possible d’effectuer des modification locale avec de multiple commit et d’envoyer nos modifications (mise a disposition) a l’aide de la commande suivante :
1 |
git push |
Récupération des sources existante d’un dépôt distant
Il est également possible de charger le contenue existant d’un dépôt distant.
Pour cella, placer vous dans votre répertoire et lancer la commande suivante :
1 |
git clone https://[URL_DE_MON_DEPOT]/principal.git |
Une fois fait, le répertoire est devenu un depot local avec le contenue du depot distant et il est systématiquement lier a notre depot distant.
Il est donc possible d’effectuer des modification et de les renvoyer sur le dépôt distant.
Actions disponibles a connaitre
Ajouter des fichiers au versionnement
Par défaut, les fichiers ajouter des les répertoires versionné ne sont pas pris en compte par git. il faut donc les ajouter.
Pour cella, soit on ajoute un fichier bien définit :
1 |
git add monfichier.php |
soit on ajoute tous les fichier disponibles :
1 |
git add . |
Faire un Commit :
1 |
git commit -am "[DETAIL_DE_VOTRE_MODIFICATION]" |
Il faut bien comprendre qu’un simple commit ne met pas a disposition les sources sur le dépôt partagé . Cella permet seulement de valider certainement modification que l’on vient d’effectuer sur le dépôt local
De cette facon, nous pouvons faire plusieurs groupe de modification que l’on peut valider au fur et a mesure sans qu’elle soit disponible.
Valider les modifications (commit) sur le dépôt distant :
Pour les rendre disponible, il suffit de pousser les modifications sur le serveur en effectuant la commande suivante :
1 |
git push |
Connaitre la liste des commits :
Il est possible de voir la liste des commit effectué avec la commande suivante :
1 |
git log |
Création d’un sous module distribuable
La gestion des sous module permet de créer des modules que l’on pourra redistribuer.
Nous allons donc créer un nouveau répertoire a l’intérieur d’un dépôt déjà initialisé et l’initialiser localement al’aide des commande suivante (a l’intérieur du répertoire):
1 2 3 |
git init git add . git commit -am "Commit initial" |
Et voila, notre nouveau module est versionner indépendamment de notre site principale mais seulement de maniéré locale.
Pour le mettre a disposition sur le dépot distant, il faudra executer les commandes suivante :
1 2 |
git remote add origin https://[URL_DE_MON_DEPOT]/subm.git git push -u origin master |
cependant il reste une étape, et pas la moins importante : Définir notre nouveau répertoire comme étant un Sous Module git de notre depot principal.
Si cette étape est oublier, les sources de notre nouveau module seront ajouter a notre dépôt principal lors des prochains commit et push.
Il faut donc ne pas oublier cette étape.
Déplacent nous a la racine de notre dépôt principal et lançons la commande suivante :
1 |
git submodule add https://[URL_DE_MON_DEPOT]/subm.git [CHEMIN_SOUS_MODULE] |
avec [CHEMIN_SOUS_MODULE] le chemin relatif de notre sous module a partir de la racine de notre dépôt principal.
Notre module est donc déclarer et ne sera donc plus pris en compte comme étant des sources du dépôt principal même, mais bien comme un module distribuable.
Il ne reste qu’a initialiser le module a l’aide des commande suivante (depuis la racine de notre depot principal) :
1 2 |
git submodule init git submodule update |
et voila, vous pouvez faire évoluer votre module et utiliser les commande git de commit ou de push a l’intérieur du répertoire git de votre nouveau module.
Il est a tout moment possible de voir l’etat de notre depot git en se déplacant sur le site principal et en utilisant la commande :
1 |
git status |
Ajout d’un module existant a notre dépôt principal
Il se peut également que l’on ai besoin d’ajouter un module existant a notre site, pour le faire évoluer par exemple ….
Il suffira pour cella ce rendre a la racine de notre petit dépôt principal et de taper les commandes suivante :
1 2 3 |
git submodule add https://[URL_DE_MON_DEPOT]/subm.git [CHEMIN_SOUS_MODULE] git submodule init git submodule update |
avec [CHEMIN_SOUS_MODULE] le chemin relatif de notre sous module a partir de la racine de notre dépôt principal.
et le tour est joué …
Création d’un Tag
il est possible a tout moment de creer un Tag d’un dépot, il suffit pour cella de se rendre dans le répertoire du dépôt local et de taper :
1 |
git tag -a 1.0 -m "Version 1.0" |
Qui creera le tag « 1.0 » au nom de la version par exemple.
La liste des tag est disponible avec la commande :
1 |
git tag |
Ces modifications, tout comme les « commit » sont locale. Il faut donc les valider sur le serveur de versionnement a l’aide de la commande :
1 |
git push origin --tags |
Revenir sur le dernier commit :
Revenir sur le dernier commit en ignorant les modifications :
1 |
git reset --hard [NUMERO_COMMIT] |
Revenir a un commit anterieur
1 |
git revert [NUMERO_COMMIT] |
Revient sur le commit antérieur et créer un nouveau commit avec les changements
Changer de version du dépôt local
et récupéré une version commiter grace a la commande suivante :
1 |
git checkout [NUMERO_COMMIT] |
Il est également possible de faire un chechout d’un commit dans une nouvelle branche :
1 |
git checkout -b [MA_BRANCHE] [NUMERO_COMMIT] |
0 commentaire