projets:framatutos:git

Contribuer au code de Framasoft avec Git

  • Niveau de difficulté : :GREENFLAG:
  • Durée : 15 minutes
  • Auteur : JosephK
  • Licence : CC BY-SA

Il ne faut pas bosser directement sur le dépôt principal. On ne doit travailler que sur un fork personnel avec des branches.

  1. Se connecter sur framagit (il n'est pas nécessaire de créer un compte : si vous avez déjà un compte Github cliquez sur l'icône Sign in with Github en bas du formulaire de connexion. Vous pouvez également utiliser un compte GitLab ou un compte Bitbucket)
  2. Et cliquer sur le bouton Fork repository à droite sur la page du projet.
  3. Cloner ensuite en local le dépôt du fork :
    git clone https://git.framasoft.org/[votre login]/framavectoriel.git
  4. Lier l'espace de travail local (« origin ») avec le dépôt officiel (« upstream ») :
    git remote add upstream git@git.framasoft.org:framasoft/framavectoriel.git
  1. Pour commencer à développer, il faut au préalable ouvrir une issue sur le dépôt framasoft si l'objet des modifications n'y figure pas déjà. Il s'agit de suivre qui fait quoi, garder une trace du travail de chacun et éviter de se marcher sur les pieds.
  2. Ensuite, créer une branche correspondant à la résolution de l'issue :
    git checkout -b issue-12-update-svg-editor
  3. Modifier, ajouter, supprimer, traduire, coder… et faire son ou ses commits
    git commit -m "Issue #12: blablabla"
  4. Quand l'issue est résolue, envoyer la branche sur son dépôt :
    git push origin issue-12-update-svg-editor
  5. Enfin, sur Gitlab, faire une demande de merge en cliquant sur le bouton Create Merge Request

Lorsqu'un admin a mergé les pulls requests dans la branche master du dépôt officiel, il faut ensuite mettre à jour son propre dépôt pour pouvoir continuer à travailler dessus.

  • Pour re-récupérer le dépôt officiel en local
    git pull upstream master
  • Pour ré-uploader la branche master sur son dépôt
    git push origin master

Ce n'est pas indispensable mais pour supprimer la branche issue-12-update-svg-editor :

  • sur Gitlab, se rendre sur
    https://git.framasoft.org/[votre login]/framavectoriel/branches

    et cliquer sur la corbeille.

  • en local, basculer sur master :
    git checkout master

    puis

    git branch -D issue-12-update-svg-editor

Si une branche est en cours de développement et que la branche master officielle a été modifiée entre temps alors il faudra faire un rebase :

  1. Rebasculer sur sa branche master
    git checkout master
  2. Mettre à jour
    git pull upstream master
  3. Rebasculer sur la branche de travail
    git checkout issue-13-translation-svg-editor
  4. Intégrer les modifications
    git rebase master

Après un rebase, il est obligatoire de forcer avec -f quand on veut pusher, donc

git push -f origin issue-13-translation-svg-editor
  • projets/framatutos/git.txt
  • Dernière modification: 02/10/2018 19:55
  • de 78.196.6.213