Boîte à outils Git
extraire le code
- Accès public
git clone lien_https
- Accès privé via une clef ssh
git clone lien_ssh
Une fois le dépôt (repository) cloné on peut ensuite choisir de télécharger (checkout) une branche ou un commit particulier
git checkout nom_branche
ou
git checkout numéro_commit
connaître le dépôt
- savoir sur quelle branche on est
git branch
- connaître la liste des branches disponibles
git branch -r
exemple : vérifier sur quelle branche on est, voir la liste des branches disponibles, extraire la branche feature/trunk/nudging, vérifier que cela a bien fait ce que l'on souhaite.
Note : pour extraire la branche on retire "origin" de son path.
[DYNAMICO]$ git branch * trunk2master [DYNAMICO]$ git branch -r origin/HEAD -> origin/trunk2master origin/devel origin/devel2master origin/feature/devel/clarifyMpi origin/feature/devel/mpi_layout origin/feature/devel/tree origin/feature/devel_newMpiTransfert origin/feature/nudging origin/feature/trunk/nudging origin/trunk origin/trunk2master [DYNAMICO]$ git checkout feature/trunk/nudging [DYNAMICO]$ git branch * feature/trunk/nudging trunk2master
- connaître les numéros de commit : il faut aller sur l'interface web
git log >>> infos sur les commits fait sur la branche utilisée
- créer une branche de travail
git branch nouveau_nom_branche
faire un commit
Avec git le commit se fait en local puis on push sur le dépôt. Il faut ensuite se référer aux règles de chaque dépôt (par exemple pour Dynamico il faut push sur une branche à part puis faire un merge avec la trunk2master).
- création d'une branche (se référer aux règles du dépôt pour le nom de la branche à créer)
git checkout -b nom_branche
- vérification du dépôt
git remote git remote -v
- ajout des fichiers à comiter
git status git add nom_fichier
- commit
git commit -m "message"
- info sur l'historique et le dépôt
git log
- pusher la branche sur le dépôt (vérifier avec "git remote" que c'est bien "origin")
git push origin nom_branche
- puis faire un merge avec le master depuis l'interface web
mettre à jour son dépôt local
git pull
merge d'une branche hotfix/modipsl et de la master
git checkout hotfix/modipsl git rebase master git checkout master git merge hotfix/modipsl
vérifier le dépôt avec git remote -v puis pusher
avec le rebase, on déplace la branche hotfix sur le dernier commit de la branche master, comme ça la hotfix devient dans la continuité de la master, ensuite le merge revient juste à bouger l’étiquette master au niveau de l’étiquette hotfix. Il faut voir les branches comme des pointeurs