Projet

Général

Profil

Git

Installation

sous Linux :

apt-get install git

Configuration

git config --global user.name "Prénom Nom" 
git config --global user.email prenom.nom@adresse.mail
git config --global core.editor emacs

Sources de doc

Notes diverses

Travailler sur un projet

git clone adresse_depot -b versionXX --recursive

Pour récupérer les dernières mises à jour :
N'oubliez pas de le faire si vous avez l'intention de modifier du code, sous peine de complications (il est possible de fusionner après, mais c'est moins simple)

git pull

Après modification de code, pour voir les fichiers que vous avez modifiés dans votre dépôt local

git status

Pour ajouter vos fichiers modifiés à un commit destiné à aller s'agréger au dépôt central

git add mon-premier-fichier mon-deuxieme-fichier

Pour commiter le dépot local (= fixer un état donné comme bug corrigé, fonctionnalité ajoutée...) :

git commit -m "Message de commit" 

Remarque :
si vous êtes sûr de votre coup vous pouvez ignorer l'étape add en ajoutant au commit l'option -a qui ajoutera tous les fichiers modifiés localement et donc remplacer les deux dernières commandes par

git commit -a -m "Message de commit" 

Pour mettre à jour le dépôt distant à partir du local

git push

Publier une nouvelle branche de votre projet

Imaginons que vous bossez à partir du code source d'imagéo 2.4 (branche -dev) et que vous voulez publier tout ça en tant que branche 3.0-dev

git clone ssh://gitolite3@redmine.abuledu.org/repositories-redmine/leterrier/leterrier-imageo/leterrier-imageo-git.git -b version-2.4-dev --recursive imageo-3.0-dev

Ensuite on peut procéder à la création d'une branche locale qui correspond au nom qu'on veut (le nom qu'on a donné à l'étape précédente était juste le nom du répertoire de stockage) :

git checkout -b version-3.0-dev

Maintenant on y fait des modifications, on essaye de faire que chaque modification soit commitée avec git add (si ajout de fichiers) et git commit -m 'mes modifications...'

Puis on expédie tout ça sur le serveur distant dans la branche "version-3.0-dev" avec la commande

git push origin version-3.0-rev

On contrôle enfin via l'interface web que c'est bien ce qui s'est passé sur le dépôt central ... exemple http://redmine.abuledu.org/projects/leterrier-imageo/repository (on vérifie que la nouvelle branche existe et qu'on y retrouve nos commits)

N'oubliez pas ensuite qu'il faudrait aller sur jenkins pour créer les 3 saveurs de votre nouvelle version à compiler et mettre en paquet pour tous les systèmes visés ...

Pour avoir des informations sur le dépôt de code dans lequel on est

git remote show origin

Pour voire toutes les branches

git branch --all

Mettre à jour les submodules

Si une nouvelle fonctionnalité est développée dans un sous module et que vous voulez en bénéficier

cd src/lib/abuledulabelv1 (par exemple)
git checkout master

Pensez ensuite à faire un git commit de votre projet principal pour qu'il "dépende" maintenant de cette version du sous module ...

Redmine Appliance - Powered by TurnKey Linux