My typical Git day

, par MiKaël Navarro   submit to reddit

Travailler avec Git en 10 commandes.

La première étape consiste à cloner un dépôt existant afin de récupérer tout l’historique et tous les codes sources d’un projet :

$ git clone --upload-pack=/path/to/git-upload-pack ssh://login@host/path/to/repo/proj.git

Attn. via le protolocl ssh il faut être autorisé par clé publique
ou alors il faudra autoriser les droits d’écriture sur le dépot :

$ chgrp -R users repo.git
$ chmod -R g+swX proj.git

Ceci va créer un dossier proj contenant un sous répertoire .git, c’est lui qui contient l’historique des modifications et la conf.

La première commande à connaitre est :

$ git status
# On branch master
nothing to commit (working directory clean)

qui permet de savoir sur quelle branche on est et de lister les fichiers modifiés.

On peut commencer à travailler, mais on évite de travailler sur la branche master, on travaillera donc sur une branche locale :

$ git branch mydev
$ git branch
* master
mydev
$ git checkout mydev

On effectue nos changements / compilations / tests et on commit dans la branche :

edit/compil/test
$ git diff file2
$ git add file1 file2
$ git commit -m "My comment."

Nos changements sont maintenant terminés dans notre branche locale.

On reporte alors sur la branche principale :

$ git checkout master
$ git merge mydev

A ce stade notre branche ne nous sert plus :
$ git branch -d mydev

Reste a publier nos modifications sur le dépot (pour l’instant tout est en local) :

$ git pull
$ git push

P.-S.

P.S.

On pourra éventuellement étiquetter notre travail :

$ git tag v1.0 27cfb8...
$ git push --tags

Une astuce pour mettre de côté son travail en cours (sans commiter) afin de travailler sur une autre branche :

$ git stash
$ git checkout br2
edit/compil/test/...
$ git checkout br1
$ git stash apply