2017_2018:s3:methodo:td:git
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2017_2018:s3:methodo:td:git [2017/09/26 12:09] – [Synchronisation de votre répertoire] blay | 2017_2018:s3:methodo:td:git [2018/01/15 15:30] (current) – [Ressources] blay | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== TD sur le contrôle de version (Hands-on Git) ====== | ====== TD sur le contrôle de version (Hands-on Git) ====== | ||
- | Basé sur le TD élaboré par** Cyril Ceccinel** | + | Basé sur le TD élaboré par** Cyril Cecchinel** |
Et l'aide de [[https:// | Et l'aide de [[https:// | ||
Line 39: | Line 39: | ||
A Noter, que si vous travaillez sous Github ou BitBucket, en général, on crée le dépôt sur le site puis on le clone. | A Noter, que si vous travaillez sous Github ou BitBucket, en général, on crée le dépôt sur le site puis on le clone. | ||
- | - Créer un répertoire '' | + | - Créer un répertoire '' |
- Initialiser le dépôt : < | - Initialiser le dépôt : < | ||
Line 55: | Line 55: | ||
- Ajoutez le fichier '' | - Ajoutez le fichier '' | ||
- Réinterprétez le résultat de la commande '' | - Réinterprétez le résultat de la commande '' | ||
- | - Le fichier '' | + | - Le fichier '' |
- Que donne la commande git status ? | - Que donne la commande git status ? | ||
- Apportez quelques modifications au fichier '' | - Apportez quelques modifications au fichier '' | ||
Line 101: | Line 101: | ||
Jusqu’à présent, vous avez pu expérimenter Git pour gérer localement vos versions. Nous allons maintenant nous intéresser au développement collaboratif de fichier sources. Pour cette partie, mettez vous avec votre groupe de méthodologie. | Jusqu’à présent, vous avez pu expérimenter Git pour gérer localement vos versions. Nous allons maintenant nous intéresser au développement collaboratif de fichier sources. Pour cette partie, mettez vous avec votre groupe de méthodologie. | ||
+ | - Si votre dépôt est vide, UN étudiant : | ||
+ | | ||
+ | - En vous plaçant dans le bon répertoire : < | ||
+ | git init | ||
+ | touch readme.txt | ||
+ | git add readme.txt | ||
+ | git commit -m ' | ||
+ | git remote add origin URL | ||
+ | git push -u origin master | ||
+ | </ | ||
+ | - Visualisez les références distantes < | ||
+ | - Visualisez les URL associées aux références distantes < | ||
- (TOUS) En suivant les[[ https:// | - (TOUS) En suivant les[[ https:// | ||
- Récupérer l' | - Récupérer l' | ||
- Cloner < | - Cloner < | ||
+ | - Placez vous dans le dépot. | ||
- Chaque personne du groupe participe : | - Chaque personne du groupe participe : | ||
- **(Personne A)** | - **(Personne A)** | ||
Line 116: | Line 129: | ||
</ | </ | ||
- Ajoutez le fichier au dépôt git et commitez le fichier. Envoyez ensuite le commit vers le dépôt distant : < | - Ajoutez le fichier au dépôt git et commitez le fichier. Envoyez ensuite le commit vers le dépôt distant : < | ||
- | - **(Tous sauf A)** Synchroniser votre dépôt git avec la commande < | + | - **(Tous sauf A)** |
+ | - Visualiser l' | ||
+ | - Synchroniser votre dépôt git avec la commande < | ||
- (Un développeur autre que A) | - (Un développeur autre que A) | ||
- Modifiez le fichier index.html afin d’ajouter du texte entre les balises body. | - Modifiez le fichier index.html afin d’ajouter du texte entre les balises body. | ||
Line 130: | Line 145: | ||
===== Tags ===== | ===== Tags ===== | ||
- | Git donne la possibilité d’étiqueter un certain état dans l’historique comme important grâce à un « tag ». Ces tags sont couramment utilisés pour marquer des états de publication (eg. v1.0, v1.1, …). | + | Git donne la possibilité d’étiqueter un certain état dans l’historique comme important grâce à un « tag ». Ces tags sont couramment utilisés pour marquer des états de publication (//e.g//. v1.0, v1.1, …). |
Deux types de tags sont disponibles : | Deux types de tags sont disponibles : | ||
- | • Les tags légers : un pointeur sur un commit spécifique | + | |
- | • Les tags annotés : stockés sous forme d’objets, ils contiennent une somme de contrôle, le nom et l’email du créateur, la date de création, un message et éventuellement une signature GPG. | + | * Les tags annotés : stockés sous forme d’objets, ils contiennent une somme de contrôle, le nom et l’email du créateur, la date de création, un message et éventuellement une signature GPG. |
Dans le cadre de cette matière, nous utiliserons que des tags légers. Pour plus d’informations sur le mécanisme de tags annotés, voir les ressources. | Dans le cadre de cette matière, nous utiliserons que des tags légers. Pour plus d’informations sur le mécanisme de tags annotés, voir les ressources. | ||
- | - Reprenez votre fichier « Menu.txt » et apportez-y des modifications. La nouvelle version obtenue correspondra à la carte qui sera publiée au guide Michelin 2017. Pour marquer cette importance, nous allons associer le tag « michelin » au prochain commit : Créez une étiquette ‘michelin17’ | + | - Reprenez votre fichier « Menu.txt » et apportez-y des modifications. La nouvelle version obtenue correspondra à la carte qui sera publiée au guide Michelin 2017. Pour marquer cette importance, nous allons associer le tag « michelin » au prochain commit : Créez une étiquette ‘michelin17’ |
- | - Listez les étiquettes disponibles | + | - Listez les étiquettes disponibles |
Attention ! | Attention ! | ||
Line 145: | Line 160: | ||
==== Création/ | ==== Création/ | ||
- | + | * Création d’un repo Git local | |
- | - Création d’un repo Git local | + | < |
- | $ git init myRepo | + | |
Initialized empty Git repository in / | Initialized empty Git repository in / | ||
- | + | </ | |
- | | + | |
- | $ git clone <URL du repo Git à cloner> | + | < |
- | + | | |
- | | + | < |
- | $ git remote add origin <URL du repo Git> | + | |
- | + | < | |
- | | + | |
- | $ git push master origin | + | < |
- | + | ||
- | | + | |
- | $ git pull | + | |
==== Commiter des modifications ==== | ==== Commiter des modifications ==== | ||
- | | + | |
- | $ git status | + | < |
- | - Versionner un nouveau fichier | + | |
- | $ git add <Fichier à ajouter> | + | < |
- | - Commiter un état courant avec un message de commit | + | |
- | $ git commit -m " | + | < |
[master (root-commit) b992814] Premier commit | [master (root-commit) b992814] Premier commit | ||
1 file changed, 5 insertions(+) | 1 file changed, 5 insertions(+) | ||
| | ||
- | + | </ | |
- | | + | * Afficher l’historique du repo |
- | $ git log | + | < |
- | + | </ | |
==== Utiliser des branches ==== | ==== Utiliser des branches ==== | ||
Line 205: | Line 216: | ||
- | | + | |
- | $ git tag michelin17 | + | < |
- | | + | |
- | $ git tag | + | < |
michelin17 | michelin17 | ||
+ | </ | ||
- | | + | |
- | $ git push origin michelin17 | + | < |
Total 0 (delta 0), reused 0 (delta 0) | Total 0 (delta 0), reused 0 (delta 0) | ||
To https:// | To https:// | ||
- [new tag] | - [new tag] | ||
+ | </ | ||
+ | * Pousser tous les tags sur un serveur distant | ||
+ | < | ||
- | - Pousser tous les tags sur un serveur distant | + | ==== Ressources ==== |
- | git push origin --tags | + | |
- | Ressources : | ||
* Pro Git, Scoot Chacon and Ben Straub https:// | * Pro Git, Scoot Chacon and Ben Straub https:// | ||
Line 228: | Line 241: | ||
* A successful git branching model : http:// | * A successful git branching model : http:// | ||
* L’étiquetage : | * L’étiquetage : | ||
+ | * [[https:// | ||
// That’s all folks | // That’s all folks | ||
2017_2018/s3/methodo/td/git.1506427755.txt.gz · Last modified: 2017/09/26 12:09 by blay