- Cours Forge ZZ2 F2 2017
- Infos étudiant :
- Première partie - Consignes générales
- Format du document
- Format md
- Exemple de code
- Utilisation de liste
- Accentuation
- Liens
- Tables
- Exemple pour le compte rendu
- 1. Création d'un répertoire, ajout d'un fichier et lister le répertoire
- Listing des commandes et résultat
- Commentaire
- TP 1
- 1. Les basiques
- 2. Les branches
- 3. Merge
- 4. Remote
Cours Forge ZZ2 F2 2017
Infos étudiant :
Par binôme Nom Prénom:
- Chedotal Aubin
- Signarbieux Thibault
Première partie - Consignes générales
Format du document
Ce TP est et son compte rendu est un fichier au format md
pour Markdown qui est un format permettant de gérérer facilement du HTML. Ce format étant couramment supporté par les outils de développement, nous l'utiliserons pour les comptes rendus.
Plus d'information sur la syntaxe de ce format :
- Spécification : https://daringfireball.net/projects/markdown/
- Cheatsheet : https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
- Version GitLab : https://docs.gitlab.com/ee/user/markdown.html#code-and-syntax-highlighting
Ci dessous un exemple d’éditeur à utiliser pour obtenir une prés visualisation de votre document :
-
Atom avec le plugin markdown-preview
- ctrl-shift-M pour afficher la preview
-
Notepad++ avec le plugin MarkdownViewerPlusPlus
-
SublimeText avec le plugin sublimetext-markdown-preview
-
Eclipse
-
IntelliJ
-
vi / blocnote
-
...
-
Snipplet de code
Format md
Exemple de code
// ceci est un commentaire
public String test = "Hello Word";
boolean hello = true;
if (true == hello ) {
System.out.println(test);
}
Utilisation de liste
- item 1
- item 1.1
- item 2
- liste
- non ordonné
- sans index
Accentuation
Italic avec étoile or tiret-bas.
En gras avec double étoile ou tiret-bas .
Il est possible de combiner les deux étoile et tiret-bas.
Pour barrer on utilise deux tildes. Barrer ça.
Liens
Tables
Tables | Are | Cool |
---|---|---|
col 3 is | right-aligned | $1600 |
col 2 is | centered | $12 |
zebra stripes | are neat | $1 |
Markdown | Less | Pretty |
---|---|---|
Still | renders |
nicely |
1 | 2 | 3 |
Exemple pour le compte rendu
Compléter le document avec vos réponses, pour chaque consignes indiquez les commandes utilisées,le résultat et un commentaire. Par exemple :
1. Création d'un répertoire, ajout d'un fichier et lister le répertoire
Listing des commandes et résultat
user@localhost:~/$ mkdir temp
user@localhost:~/$ cd temp/
user@localhost:~/temp$ ls
user@localhost:~/temp$ touch newFile
user@localhost:~/temp$ ls
newFile
Commentaire
Création d'un nouveau dossier temp dans la répertoire courant et ajout ajout d'un fichier newFile, nous avons utiliser la commande
ls
pour lister le contenu de ce nouveau répertoire.
TP 1
Télécharger le sujet du TP à l'adresse suivante : https://gitlab.isima.fr/mazenovi/2017-F2-Forge
1. Les basiques
- Créer un repository git
git init - Par la suite pensez à commiter votre compte rendu apres chaques étapes dont l'enoncé est terminé par
*
, pour les messages de commit vous pouvez utiliser les numéros des questions (Ex Q1.2 ici) - Ajouter le compte rendu dans le repo
*
git add tp1.md - Afficher la status de votre copie de travail
git status - Modifiez le CR pour supprimer la première partie et indiquez vos noms (n'oublier pas de faire un
git add
pour marque le fichier comme devant être ajouté)*
- Afficher l'historique de votre repo
git log - Renommer ce fichier en préfixant avec vos noms en amendant le commit précédent (
git commit -m "mon message"
pour indiquer le mesage de commit directement)*
mv tp1.md chedotal_signarbieux_tp1.md
git add chedotal_signarbieux_tp1.md
git commit -am "Q1.6" --amend - Afficher l'historique de votre repo
git log - Il ne devrait y avoir que deux entrées dans l'historique pourquoi ?
*
Parce qu'on vient d'amender un commit - Créer un nouveau fichier, nommé start, contenant la date et l'heure actuelle
*
touch start
git add chedotal_signarbieux_tp1.md
git add start
git commit -am "Q1.9" - Créer un nouveau fichier : file2ignore
touch file2ignore - Afficher la status de votre copie de travail
git status - On souhaite que ce fichier soit ignoré et ne soit jamais commité. Réalisez la configuration nécesaire pour que cette regle soit effective
*
touch .gitignore Dans le fichier .gitignore on ajoute l'emplacement de notre fichier à ignorer : ici file2ignore
git add .gitignore
git add chedotal_signarbieux_tp1.md
git commit -am "Q1.12" - Lister le contenu du repertoire courant, afficher le status et la log
ls
git status
git log - Avant de commiter affichez les modifications par rapport à la précédente révision ?
*
git diff chedotal_signarbieux_tp1.md
git add chedotal_signarbieux_tp1.md
git commit -am "Q1.14"
2. Les branches
- Créez une branche portant votre nom et basculer sur cette branche (dans la suite du TP cette branche est désignée par
mybranch
)
git branch che_sig
git checkout che_sig - Lister les branches locales et les fichiers présents dans le répertoire courant
*
git branch -v
ls
git add chedotal_signarbieux_tp1.md
git commit -am "Q2.1" - Aficher le status de votre repo
*
git status
git add chedotal_signarbieux_tp1.md
git commit -am "Q2.2" - Créez une branche pour développer la réponse de ce point (nommez là
mybranch-2.4
par exemple)
git branch che_sig-2.4 git checkout che_sig-2.4 - Afficher un historique sous forme de graph (
a dog
) de votre repo
git log --all --decorate --oneline --graph - Pourquoi les 2 branches pointent elles sur la même révision ?
*
Il n'y a pas eu de commit depuis la création de la branche mybranch-2.4
git commit -am "Q2.4.2" - Afficher à nouveau l'historique pour montrer les modifications suite au précédent commit
*
git log --all --decorate --oneline --graph git commit -am "Q2.4.3" - Revenir la branche
mybranch
git checkout che_sig - Où sont passé vos reponces au point 2.4 ?
*
Elles sont restées sur la branche che_sig-2.4
git commit -am "Q2.8" - Affichez un historique sous forme de graph (
a dog
) de votre repo, Que peux ton en dire ?
git log --all --decorate --oneline --graph
HEAD point sur la branche courante, donc che_sig, et la branche che_sig-2.4 est restée en arrière - Revenir sur la branche master
git commit -am "Q2.10"
git checkout master - Ajoutez et commitez un fichier (touch new_file)
touch new_file
git add .
git commit -am "Q2.11" - Revenir sur votre branche
mybranch
pour completer le compte rendu*
git checkout che_sig
git commit -am "Q2.12" - Affichez un historique sous forme de graph (
a dog
) de votre repo*
git log --all --decorate --oneline --graph
git commit -am "Q2.13"
3. Merge
- Merge depuis head
- switcher sur une nouvelle branche
mybranch-3.1
git branch che_sig-3.1
git checkout che_sig-3.1 - ajout un nouveau fichier nommé easy_merge avec la date et l'heure actuelle
*
touch easy_merge
git add .
git commit -am "Q3.2" - merger la branche
mybranch-3.1
surmybranch
git commit -am "Q3.3"
git checkout che_sig
git merge che_sig-3.1 - Afficher le status
git status - Pourquoi n'y a t'il aucune modification en cours ?
*
Car nous venons de merger la branche sur laquelle on a fait les modifications
git add .
git commit -am "Q3.5" - Affichez un historique sous forme de graph (
a dog
) de votre repo et décire l'état courant*
git log --all --decorate --oneline --graph
git commit -am "Q3.6" - Merge avec modifications
- Mergez les modifications de la branche
mybranch-2.4
surmybranch
(*echap* :wq *enter*
pour sauvegarder le message de commit et quitter)*
git commit -am "Q3.8"
git merge che_sig-2.4 - Affichez un historique sous forme de graph (
a dog
) de votre repo*
- Merge avec conflit
- Céer une nouvelle branche
mybranch-3.6
- Notez dans le CR la date et l'heure actuelle (avec la commande
date
par exemple)*
- Switchez sur la nouvelle branche et modifiez la réponse précendante dans le CR avec le
*
- Réalisez le merge de la brache
mybranch-3.6
surmybranch
. Le prompt change, pourquoi ? Gerer le conflit et commiter. - Supprimer les branches de feature et afficher toutes les branches restantes, affichez un historique sous forme de graph (
a dog
) de votre repo*
4. Remote
- Afficher l'historique de votre repo
- Ajouter le projet "2017-F2-Forge" comme repository distant
*
- Lister les branches distantes
- Pousser votre branche de votre repo local sur le repos distant
*
- En consultant votre branche sous gitlab, vous devriez constaté que la date de modification du fichier start est plus acienne que celle de votre compte rendu, porquoi alors que le push de toute votre branche est faite en une seule fois ?
- Supprimer le dossier .git
- Faire un git status ?