git-flow est un ensemble d'extensions git permettant des operation de haut niveau
sur un depot pour appliquer le modele de la branche
★ ★ ★
Les commandes et sorties de Git-flow apportent une aide precieuse. sudo apt-get install git-core gitk Configurer Git
Maintenant que Git est installer, vous devriez avoir une console ouverte dans laquelle vous allez pouvoir taper des commandes de Git.
Dans la console, commencez par envoyer ces trois lignes : git config --global color.diff auto git config --global color.status auto git config --global color.branch auto L'ajout d'un fichier s'effectue, comme vu un peu plus haut,avec la commande Pour retirer un fichier du suivi, faites Son statut sera maintenant 'deleted'. Attention, il sera egalement supprimer de votre copie locale ! En cas de mauvaise manipulation, faites, pour faire reapparaître le fichier :
Cette commande sert de facon generale a annuler les modifications apportees depuis la derniere mise à jour,
Si vous voulez seulement arreter le suivi d'un fichier, sans le supprimer,
vous donne un diff unifier entre votre copie de travail et la derniere revision recuperee de votre branche. Maintenant, vous pouvez enfin envoyer vos modifications. Commencez par faire un commit
Si vous ne voulez envoyer que certains fichiers,
Normalement, vous devez passer par ★git add★ pour chacun des fichiers que vous avez modifié,
Vous pouvez omettre l'option -m, votre editeur favori s'ouvrira
A ce stade, les autres developpeurs ne savent pas que vous avez fait des modifications.
Pour mettre à jour votre version locale, il va vous falloir lancer Si vous travaillez sur une branche de test et qu'un developpeur modifie la branche master,
Pour visualiser la branche sur laquelle vous travaillez
A present, si vous voulez travailler sur une des branches presentes sur GitHub,
Ici, j'ai demander a creer une branche recherche calquee sur la branche recherche disante. Ainsi, quand je ferai git pull, ma branche locale sera mise a jour. On ne travaillera jamais sur des branches distantes. Maintenant que vous avez une vague idee du concept de branches locales/distantes, vous devez vous demander comment envoyer une branche locale sur le serveur. On se place donc dans le cas ou vous voulez creer une nouvelle branche, qui n'existe
pas sur le serveur. Il vous faut tout dabord creer une branche locale, puis la pusher sur le serveur : Les branches peuvent etre fusionnees, supprimees,
Pour fusionner toutes vos modifications avec la branche par defaut, assurez de n'avoir plus aucun fichier modifié en attente (faites un ''git status'' et assurez-vous qu'il ne renvoie rien).
Attendez, resolvez les conflits. Voila, votre branche de developpement a ete fusionnee dans votre branche par defaut.
Pour supprimer une branche locale, il suffit de passer l'option -d a git branch
Cette commande ne fonctionnera que si cette branche a ete fusionner, sans quoi vous perdriez des commits. Pour la supprimer si elle contient des commits non fusionner, il faut utiliser l'option -D. En faisant cela, ferez disparaître les modifications
de cette branche qui n'ont pas ete fusionnees !.
Vous pouvez aussi ne supprimer que la branche distante,
Au fur et a mesure de vos commits, votre copie locale du depot s'encrasse : les fichiers sont stocker en piles, et il est bon de faire le menage de temps en temps.
Qui lance en fait, entre autres, git repack et git prune (gc = garbage collect).
les tags permettent de donner un nom a une revision. Partout ou vous pouvez specifier un hash de revision (dans ''git log'' par exemple, mais aussi dans les commandes de checkout,de merge, etc), mon_tag devient alors un alias pour la derniere revision envoyee dans la branche courante. git est un logiciel de gestion de versions decentralise. C'est un logiciel libre cree par Linus Torvalds, auteur du noyau Linux mon tweeter
Lisez les attentivement pour comprendre< ce qui se passe...
Le logiciel pour OSX Sourcetree est une excellente interface graphique pour git qui supporte git-flow.
Git-flow est une solution basee sur les fusions (merge). Elle n'effectue pas de rebase sur les branches de fonctionaliter
★ ★ ★
Installation
★ ★ ★ Elles activeront la couleur dans Git. Il ne faut le faire que une fois,et ca aide a la lisibiliter des messages dans la console.
Ajouter et supprimer des fichiers
★ git add nom_du_fichier
★ git rm chemin_vers_le_fichier
★ git reset chemin_vers_le_fichier
en ajoutant l'option --hard. Là faites bien attention, c'est irreversible par contre ! Par exemple, si j'ai modifier index.php mais que je souhaite annuler mes modifications, je ferai
★ git reset --hard index.php
vous devez utiliser l'option --cached. Cela conserve votre fichier local mais arrete son suivi. Exemple :
★ git rm --cached fichier_prive
★ git diff Partager ses modifications
★
Pour envoyer vos modifications, rien de plus simple
ajoutez derriere le message de commit la liste des fichiers ainsi
mais il existe un raccourci bien pratique,
l'option -a qui ajoutera automatiquement tous les fichiers modifiés déjà suivis
(donc pas les nouveaux fichiers, attention !).
alors pour que vous puissiez rentrer un message de commit.
Quand vous utiliserez les branches, faites bien attention à verifier
dans quelle branche vous envoyez vos modifications en faisant un
Il va vous falloir faire un push. Là encore rien de plus simple :Recuperer les modifications des autres
vous ne serez pas affecter taper:Creer des branches
(important a faire avant un pull ou un push en cas de doute),
taper ★git checkout -b ma_super_branche
taper ★ git branch ma_super_branche
taper ★ git branch -a
il vous faut creer une branche locale qui sera liee à la branche distante.
Cela se fait egalement avec la commande git branch
(ou git checkout -b, en ajoutant un un argument, le nom de la branche distante★git checkout -b mwsaz origin/nom-de-votre-branch
★ 1 git checkout -b nom_de_la_branche # Creation de la branche locale
n'hesitez pas pour a en creer des que vous vous lancez dans un travail setendant sur plusieurs commits.
Pour changer de branche, il vous faut faire git checkout nom_de_la_branche. Il faut que votre repertoire de travail soit propre, c'est à dire que git status naffiche aucun fichier comme modified. Un git branch vous indiquera à l'issue
de cette manipulation que vous vous trouvez sur nom_de_la_branche. Si vous souhaitez changerFusionner des branches
Puis passez à la branche par defaut, et enfin fusionnez les deux : ★ git checkout master
★ git pull . nom_de_la_branche_à_merger
Vous pouvez aussi faire l'inverse. Si par exemple vous corrigez un bug dans la branche principale,
il y a de fortes chances qu'il soit aussi dans les autres branches.
Dans ce cas, vous devez vous placer dans la branche de developpement, et comme precedemment : ★ 1 - git checkout ma_branche
★ 2 - git pull . master
Supprimer des branches
★ git branch -d ma_branche
N'utilisez cette option que si vous savez ce que vous faites. Pour supprimer une branche distante, il y a deux etapes : supprimer votre branche locale, qui la suivait ; supprimer la branche distante.
★ 1 - git branch -d ma_branche
★ 2 - git push origin :ma_branche
la branche locale correspondante sera supprimer au prochain git gc.Maintenance
Une commande (qui en combine plusieurs est la pour ca ★ 1 git gc
La premiere va recompresser les fichiers, et s'assurer que le depot n'est pas fragmente. La deuxième permet de faire le menage dans les branches distantes non utiliser (suppression des branches locales de suivi qui pointent sur une branche distante supprimer).
Cette commande n'affectera pas votre travail, elle rendra l'acces a votre depot local plus rapide, et diminuera l'espace occuper par le dossier .git.Utiliser les tag
au lieu de donner le-dit hash, vous pourrez donner un nom. Ce nom doit etre sans espaces, court et explicite de preference.
C'est un tag. Pour tagger une revision, rien de plus simple : ★ 2 - git tag mon_tag
Comme pour les branches, on peut supprimer des tags avec l'option -d Resumer Git
, et distribuer selon les termes de la licence publique generale GNU version 2. En 2016,
il s’agit du logiciel de gestion de versions le plus populaire qui est utiliser par plus de douze millions de personnes4.
Haut de page