Modifications entre les versions 3 et 11 (s'étendant sur 8 versions)
Version 3 à la date du 2012-08-27 06:10:50
Taille: 2290
Éditeur: DavinBaragiotta
Commentaire:
Version 11 à la date du 2012-08-27 09:21:47
Taille: 3903
Éditeur: DavinBaragiotta
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 28: Ligne 28:
  * .gitignore : suivre le modèle
  * git init
  * git status
  * git add
  * créer un répertoire en local et s'y déplacer
  {{{
mkdir atelier
cd atelier
}}}
  * initialiser un dépôt vierge
  {{{
git init
}}}
   * .git créé = tout le dépôt en local
  * vérifier l'état du dépôt
  {{{
git status
}}}
  * créer du contenu (un répertoire et un fichier) sous {{{atelier}}}
  * créer le fichier caché commandant à git d'ignorer certains fichiers ou répertoires
   * {{{.gitignore}}} : suivre le modèle
  * ajouter les fichiers et répertoires à l'index de git
  {{{
git add .
}}}
Ligne 33: Ligne 50:
  * git commit
  * gitk
  * engager ses changements
  {{{
git commit -a -m "message de commit"
}}}
  * vérifier le journal des commits
  {{{
git log
}}}
  * vérifier l'historique des versions (commits)
  {{{
gitk
}}}

== INTERFACE WEB DU SERVEUR ==

 * projets
 * shortlog
  * liste de commits
  * tag master = head master
 * commit
  * hash identifiant commit et son parent
  * diff, blob, (blame), history (+ diff to current)
 * commitdiff
 * tree : l'arborescence des sources (web)
 * snapshot : les sources (téléchargement)
 * heads (= branches)
Ligne 38: Ligne 79:
 * Initialiser un dépôt git  * Récupérer localement un dépôt git existant sur serveur (pas encore récupéré)
 {{{
git clone ssh://gitosis@git.auf/espace-formation
}}}
 * Initialiser un dépôt git (pas fait dans l'atelier)
Ligne 41: Ligne 86:
 * Récupérer localement un dépôt git existant sur serveur (pas encore récupéré)
  * git clone
  * git config
Ligne 47: Ligne 89:
 * Éditer l'arboresence du projet
 * git status
 * git add
 * git rm
 * Éditer l'arborescence du projet
  * vérifier l'état du dépôt local
  {{{
git status
}}}
 * ajouter les fichiers et répertoires à l'index de git
  {{{
git add .
}}}
 * supprimer des fichiers ou répertoires de l'index
  {{{
git rm nom_fichier
}}}
Ligne 58: Ligne 109:
  * git fetch
Ligne 60: Ligne 110:
  * créer en local à partir du serveur
   * git branch -t
Ligne 94: Ligne 146:
 * Aller plus loin :
  * Participer aux projets
   * de l'AUF : [[http://git.auf.org|Dépôt AUF]]
   * d'autres projets Open source : [[https://github.com/|GitHub]]
  * Explorer au besoin le [[http://git-scm.com/documentation|Site officiel]], notamment sa [[http://git-scm.com/documentation|documentation]]

----

Git : versionner ses sources


INTRODUCTION

  • Objectifs :
    • connaître les commandes de base pour participer à un projet AUF
  • Documentation AUF

  • Environnement technique :
    • git-core
    • gitk
  • Pourquoi versionner?
    • historique : voir versions passées
    • expérimentation : explorer une nouvelle version possible
    • travail collaboratif : travail sur versions en parallèle (en local, sur branches...) puis fusion des versions
  • Pourquoi Git?
    • nouvelle génération
    • distribué (local, hors-ligne)


VERSIONNER EN LOCAL

  • Initialiser un dépôt git
    • créer un répertoire en local et s'y déplacer
      mkdir atelier
      cd atelier
    • initialiser un dépôt vierge
      git init
      • .git créé = tout le dépôt en local
    • vérifier l'état du dépôt
      git status
    • créer du contenu (un répertoire et un fichier) sous atelier

    • créer le fichier caché commandant à git d'ignorer certains fichiers ou répertoires
      • .gitignore : suivre le modèle

    • ajouter les fichiers et répertoires à l'index de git
      git add .
  • Amorcer le suivi
    • engager ses changements
      git commit -a -m "message de commit"
    • vérifier le journal des commits
      git log
    • vérifier l'historique des versions (commits)
      gitk

INTERFACE WEB DU SERVEUR

  • projets
  • shortlog
    • liste de commits
    • tag master = head master
  • commit
    • hash identifiant commit et son parent
    • diff, blob, (blame), history (+ diff to current)
  • commitdiff
  • tree : l'arborescence des sources (web)
  • snapshot : les sources (téléchargement)
  • heads (= branches)

VERSIONNER SUR SERVEUR

  • Récupérer localement un dépôt git existant sur serveur (pas encore récupéré)
    git clone ssh://gitosis@git.auf/espace-formation
  • Initialiser un dépôt git (pas fait dans l'atelier)
    • git config
    • git push

PROCESSUS DE VERSIONNAGE

  • Éditer l'arborescence du projet
    • vérifier l'état du dépôt local
      git status
  • ajouter les fichiers et répertoires à l'index de git
    • git add .
  • supprimer des fichiers ou répertoires de l'index
    • git rm nom_fichier
  • git commit
  • git pull
  • git push

BRANCHES

  • Créer en local
    • git branch
    • créer en local à partir du serveur
      • git branch -t
  • Créer sur serveur
    • git push
  • Changer de branche
    • git checkout
  • Fusionner les branches
    • git merge
  • Conflits
  • Supprimer en local
    • git branch
  • Supprimer sur serveur
    • git push

WORKFLOW DE DÉVELOPPEMENT

  • Développement (branch dev, environnement DEV)
    • développement dans environnement DEV (local)
    • branche dev : code stable développé

    • validation informatique du release
  • Tests (branch test, environnement TEST)
    • merge de branche dev dans la branch test
    • branche test : code stable à tester par responsables métier

    • déploiement dans environnement de TEST (serveur, identique à PROD)
    • validation métier du release
  • Production (branch master, environnement PROD)
    • merge de branch test dans la branch master
    • branch master : code stable validé

    • déploiement dans environnement de PROD
    • utilisation par utilisateurs finaux


CONCLUSION

  • Tout projet doit être versionné sur le dépôt central (privé ou public)
  • Aller plus loin :


Ateliers/Git/Support (dernière édition le 2012-08-27 10:45:21 par DavinBaragiotta)