Git : Mini-guide de survie

Git est un logiciel de gestion de versions décentralisé.

Commandes usuelles

git status

Cette commande permet de voir les fichiers ajoutés, supprimés, modifiés et non suivis.

git status

git diff

Cette commande permet de consulter les changements effectués sur les fichiers modifiés.

git diff

git add

Permet d'ajouter un fichier au dépôt de code. Sans cette commande les fichiers ne seront pas enregistrés et suivis dans le dépôt.

git add chemin/vers/mon/fichier

git mv

Permet de déplacer et/ou renommer un fichier si l'on souhaite conserver l'historique des changements appliqués et/ou optimiser la gestion mémoire.

git mv chemin/vers/mon/fichier chemin/vers/mon/nouvel/emplacement

git commit

Pour valider l'ensemble des changements effectués :

git commit -a

git pull

Permet de récupérer les modifications du dépôt :

git pull

git stash

Permet de mettre de coté les modifications faites en local, de mettre à jour le code, puis de les réintégrer :

git stash
git pull
git stash apply

git push

Permet de pousses ses modifications sur le dépôt :

git push

Faire un fork pour faire un POC (partir et revenir)

Github

Via votre compte Github, il suffit premièrement de forker le projet Ekylibre

Il reste ensuite à cloner votre projet localement et à faire les mêmes paramétrages que lorsque vous avez cloner le dépôt Ekylibre (database.yml notament)

cd home/projects

git clone https://github.com/ionosphere/ekylibre.git /ekylibre_poc

Paramétrer votre dépôt pour rester à jour

C'est là que les choses changent.

# Depuis le répertoire de votre fork

cd home/projects/ekylibre_poc

# Ajout de la branche de référence appellée “upstream”:

git remote add upstream https://github.com/ekylibre/ekylibre.git

# Aller chercher cette branche upstream/master:

git fetch upstream

# Vous placer sur votre branche master

git checkout master

# Rebaser votre fork avec le projet upstream/master (Ekylibre)

git rebase upstream/master

# Et enfin, vous repoussez tout cela en forçant (-f) le push

git push -f origin master

Maintenir à jour votre fork pour anticiper un pull-request

En résumé : Une fois votre fork paramétré, à chaque fois que vous souhaitez mettre à jour avec le projet upstream, vous allez repeter les étapes suivantes :

git fetch upstream
git checkout master
git rebase upstream/master
git push -f origin master

Développer dans une nouvelle branche

Pour lancer un développement, il est plus que recommandé de travailler dans une nouvelle branche.

# Sur master
git checkout -b ma-nouvelle-fonctionnalite
# Basculement sur la nouvelle branche 'ma-nouvelle-fonctionnalite'

Faire ses commits sur la branche en question, puis pousser sur la branche :

git push -u origin ma-nouvelle-fonctionnalite

Quand il y en a besoin ou quand le dev est fini :

git checkout master
git fetch origin
git checkout ma-nouvelle-fonctionnalite
git merge master

Voir aussi