Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
enseignement:d35:tp:tp1 [2014/01/28 10:50] – modification externe 127.0.0.1 | enseignement:d35:tp:tp1 [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <texit info> | + | ====== D35 - TP1 - Premiers pas avec git ====== |
- | author=E. Bruno | + | |
- | title=TP1 - Premiers pas avec git | + | |
- | </ | + | |
- | ====== TP1 - Premiers pas avec git ====== | + | Pour une présentation rapide de Git lire : [[git: |
+ | |||
+ | et surtout : https:// | ||
+ | |||
+ | ===== Git dans un entrepôt isolé | ||
- Dans un répertoire '' | - Dans un répertoire '' | ||
- créer un dossier pour votre projet | - créer un dossier pour votre projet | ||
- | - en faire un entrepôt | + | - en faire un entrepôt |
- | - Mettre en place un mini projet java qui contient | + | - Mettre en place un mini projet java qui contient |
- A chaque modification afficher le statut | - A chaque modification afficher le statut | ||
- Ajouter les différents fichiers (staging puis commit) | - Ajouter les différents fichiers (staging puis commit) | ||
- Afficher le journal | - Afficher le journal | ||
- Modifier le fichier java et afficher les différences puis faire un commit. | - Modifier le fichier java et afficher les différences puis faire un commit. | ||
- | - Créer une autre branche de votre projet | + | - Créer une autre branche de votre projet |
- | - Ajouter des fichiers et faire des modifications dans la nouvelle branches | + | - Ajouter des fichiers et faire des modifications dans la nouvelle branches. |
- | - Revenir dans la branche initiale et récupérer les modifications | + | - Revenir dans la branche initiale et récupérer les modifications. |
- | - Faire des modifications | + | - " |
- | - Régler le conflit dans la branche initiale | + | - Faire un clone du projet à la version taguée. |
- | | + | ===== Collaboration " |
- | - Faite des modifications dans l' | + | |
- | - Faites | + | - Créer deux clone du répertoire " |
- | - Créer un troisième projet en clonant | + | - Faire des modifications dans le premier |
- | - Etudier les fonctions avancées de mise à jour de l'historique : http:// | + | - Faire l' |
- | - " | + | - Faire des modifications dans le même fichier dans les deux projets sans pull préalable |
- | - Tester | + | pousser un puis l'autre pour provoquer un conflit et régler |
- | ===== Correction ===== | + | |
- | /** | + | |
- | Dans un répertoire TEST à la racine de votre compte, créer un fichier Hello.java (hello world) dans un paquetage test et un repository svn (svnhello) | + | |
- | | + | ===== Collaboration " |
+ | | ||
+ | - Vous pouvez ajouter des remotes d' | ||
+ | - Pousser vos modifications. | ||
+ | - Récupérer les modifications. | ||
+ | - Sinon faire des pull/ | ||
- | Importer | + | - A partir de là travailler tous ensemble sur le même projet : |
+ | - l' | ||
+ | - chacun peut créer une classe Test **dans son propre paquetage** (avec des login différents) avec une méthode String sayName() qui retourne son login. | ||
- | svn import test file:/// | + | ===== Utilisation avancée ===== |
- | + | | |
- | Afficher la revision | + | - Mise en place de gitflow avec Java/Maven |
- | + | - https://www.atlassian.com/git/tutorials/comparing-workflows/ | |
- | svnlook tree svnhello | + | - http://nvie.com/posts/a-successful-git-branching-model/ |
- | + | - https://bitbucket.org/atlassian/jgit-flow/wiki/Home | |
- | Afficher | + | |
- | + | ||
- | svnlook tree svnhello | + | |
- | + | ||
- | Afficher les informations sur un fichier | + | |
- | svn info file:/// | + | |
- | svn info file:/// | + | |
- | + | ||
- | Dans un répertoire ~/TEST/Work faire un ckeckout workingcopy1 et une autre w workigncopy2 | + | |
- | svn checkout file:/// | + | |
- | | + | |
- | + | ||
- | Modifier le fichier Hello.java dans workingcopy1 et mettre à jour le repository | + | |
- | svn commit workingcopy1 | + | |
- | + | ||
- | Afficher le message | + | |
- | | + | |
- | + | ||
- | Afficher le fichier Hello.java de la revision 1 | + | |
- | | + | |
- | + | ||
- | Mettre à jour workcopy2 | + | |
- | | + | |
- | + | ||
- | Modifier les deux copies, et faire un commit dans chacune. Régler le conflit. | + | |
- | + | ||
- | + | ||
- | Poser une verrou sur Hello depuis working2 et tenter une mise à jour de working1 | + | |
- | svn lock Hello.java | + | |
- | + | ||
- | Modifier et committer working 1 et créer un patch à partir de la révision précédente. Appliquer le patch à working 1 | + | |
- | Dans working2 | + | |
- | svn cat -r1 file:/// | + | |
- | Dans working1 | + | |
- | cat ../../workingcopy2/test/Hello_5_6.patch | patch | + | |
- | + | ||
- | Créer un fichier readme dont le contenu est mis à jour automatiquement | + | |
- | echo '$Id$ $Rev$ $Date$' | + | |
- | svn add README.txt | + | |
- | svn propset svn: | + | |
- | + | ||
- | Affecter et afficher la propriété author à Hello | + | |
- | */ | + | ===== IDE ===== |
+ | - Tester le plugin Git dans eclipse et/ou dans IntelliJ Idea. | ||
| | ||
---- struct data ---- | ---- struct data ---- | ||
+ | metadata.level | ||
+ | metadata.Type | ||
+ | metadata.Nom | ||
+ | metadata.Enseignements : D35 | ||
+ | metadata.Promotions | ||
+ | metadata.Technologies : Git | ||
+ | metadata.Thèmes | ||
+ | metadata.Description : | ||
---- | ---- | ||