This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2015_2016:lp:idse:gl:stash_git [2015/10/05 14:50] urli [Manipulation Git] |
2015_2016:lp:idse:gl:stash_git [2016/01/05 16:13] (current) urli [Introduction à Git flow] |
||
---|---|---|---|
Line 44: | Line 44: | ||
Une fois toutes ces opérations effectuées, placez vous dans ''P:'' et initialisez un nouveau dépôt git : | Une fois toutes ces opérations effectuées, placez vous dans ''P:'' et initialisez un nouveau dépôt git : | ||
- | * <code>git init monRepo<code> : cette commande va créer un nouveau dépôt local dans un dossier nouvellement créé nommé "monRepo" | + | * <code>git init monRepo</code> : cette commande va créer un nouveau dépôt local dans un dossier nouvellement créé nommé "monRepo" |
* Créez ensuite un fichier ''Menu.txt'' contenant des plats de restaurant, ligne par ligne : | * Créez ensuite un fichier ''Menu.txt'' contenant des plats de restaurant, ligne par ligne : | ||
* Steak tartare | * Steak tartare | ||
Line 65: | Line 65: | ||
<note tip>Sous un shell linux vous pouvez utiliser ''>'' pour que la sortie standard soit redirigée sur un fichier. Par exemple ''ls -l > toto.txt'' écrit la liste des fichiers du répertoire courant dans le fichier toto.txt.</note> | <note tip>Sous un shell linux vous pouvez utiliser ''>'' pour que la sortie standard soit redirigée sur un fichier. Par exemple ''ls -l > toto.txt'' écrit la liste des fichiers du répertoire courant dans le fichier toto.txt.</note> | ||
- | + | * Liez votre dépôt local au dépôt distant. Vous retrouvez normalement ces informations sur la page du dépôt dans Stash. La commande devrait être de la forme : <code>git remote add origin https://...@atlas.i3s.unice.fr/stash/scm/.../evalgit.git</code> | |
+ | * Poussez ensuite les commits effectuez grâce à la commande ''git push -u origin master'' | ||
+ | * Vous serez normalement amené à gérer des conflits : résolvez les conflits en conservant l'ensemble des logs et des diffs. La résolution des conflits passe par la modification textuelle des fichiers : les différentes versions sont séparées par des lignes décrites par les balises "<<<<<<<<" et ">>>>>>>>". Commitez les changements effectués. | ||
+ | ====== Introduction aux branches (sans git flow) ====== | ||
+ | |||
+ | * Créez une branche à votre nom dans le dépôt : ''git branch votrenom'' | ||
+ | * Basculez sur cette branche : ''git checkout votrenom'' | ||
+ | * Vérifiez que vous êtes sur la bonne branche : ''git branch'' | ||
+ | * Ajoutez des plats dans ''Menu.txt'' et commitez au fur et à mesure vos modifications | ||
+ | * Basculez sur la branche principale (master) | ||
+ | * Observez le fichier ''Menu.txt'' et modifiez des plats, puis commitez | ||
+ | * Fusionnez la branche que vous aviez créée : ''git merge votrenom'' | ||
+ | * Résolvez les conflits et commitez | ||
+ | * Pushez les changements | ||
+ | |||
+ | ====== Introduction à Git flow ====== | ||
+ | |||
+ | * Initialisez git flow dans votre dépôt : ''git flow init''. Conservez les choix par défaut de git flow. | ||
+ | * Créez une nouvelle feature dans le dépôt : ''git flow feature start platX'' en choisissant un nom de plat | ||
+ | * Ajoutez des plats dans ''Menu.txt'' | ||
+ | * Commitez et faites un push : que se passe-t-il ? Comment résoudre le problème ? | ||
+ | * Terminez la feature : ''git flow feature finish platX'' | ||
+ | * Faites à nouveau un push |