Quelques bases de git

Bonjour, j'ai décidé de faire un article qui traite de git pour laisser une trace des astuces et liens interressant et aussi quelques bases pour les personnes qui veulent s'y mettre.

A quoi ça sert ? Qu'est ce que c'est?


Tout d'abord git n'est pas le seul dans son domaine, les plus connus dans la concurrence ce sont SVN et Mercurial. Il en existe d'autres vous trouverez facilement sur le web la liste complète.
Git et ses compères sont des logiciels de versions, très utilisés dans le milieu du développement. Puisque ces logiciels aident au développement à plusieurs et permettent (même seul) de conserver un historique des changements.

Pourquoi Git?




Utilisation :



Bash
  1. # récupère le dépot pour le mettre sur la machine
  2. git clone https://git.chorem.org/pollen.git
  3.  
  4. # ajout les fichiers/dossiers sur git
  5. git add fichier1 fichier2 dir dir2/fichier*
  6.  
  7. # commit les changements
  8. git commit -m "titre du commit"
  9. # commit les changements avec un ajout automatique de tous les fichiers modifié
  10. git commit -am "titre du commit"
  11. # modifie le dernier commit (a ne pas utiliser si vous avez déjà envoyé au serveur)
  12. git commit --amend
  13.  
  14. # envoie sur le serveur
  15. git push [serveur] [branch]
  16.  
  17. # supprimer la branch sur le serveur
  18. git push serveur :branch
  19.  
  20. # récupère les modifications sur le serveur. demande un répèretoire clean (tout commité avec gestion des conflits)
  21. git pull [serveur] [branch]
  22.  
  23. # Créer et se déplace sur la branche newBranch
  24. git checkout -b newBranch
  25. # se déplace sur la branche nameBranch
  26. git checkout nameBranch
  27. # supprime la branche nameBranch
  28. git branch -d nameBranch
  29.  
  30. # applique les modifications de nameBranch dans la branche actuel
  31. git merge nameBranch
  32.  


Astuce :



Visionner l'hisorique facilement :
Bash
  1. git log --graph --oneline
  2.  


Ne plus avoir de commit de merge :
Bash
  1. git pull --rebase
  2.  

en cas de conflit les résoudre puis pour chaque fichier en conflit utiliser cette commande :
Bash
  1. git add fichierEnConflit
  2.  

Pour relancer le rebase avec les modifications utiliser cette commande :
Bash
  1. git rebase --continue
  2.  


Création d'alias :
Bash
  1. git config --global alias.logg log --graph --oneline
  2.  


Garder sa session https ouvert pendant 1 heures :
Bash
  1. git config --global credential.helper 'cache --timeout 3600'
  2.  



Faire un push sur le serveur d'origin a la condition que le repertoire est a jour (commit tous les fichiers)
ajouter le fichier .git/hooks/post-commit :

Bash
  1. #!/bin/sh
  2.  
  3. branch=`git branch | grep '*' | awk '{print }'`
  4.  
  5. git pull --rebase origin $branch
  6. git push origin $branch
  7.  


Quelques liens utile :



Git cheatsheet : http://ndpsoftware.com/git-cheatsheet.html
Interface un peu difficile a prendre en main mais elle fait un rapppel de toutes les commandes qui existent pour git.
La page se présente en 5 colonnes qui correspond a la porté des commandes (dépot locale, dépot serveur, espace de travail, index, remise)
Sur chaque colonnes on a la liste des commandes correspondant. La largeur de chaque command indique leur "porté" sur les espaces.
En bas, on a un descriptif de la commande, comment l'utiliser et ce quelle fait.


Book Pro Git : http://git-scm.com/book/fr/
Une bonne doc qui explique beaucoup de chose, on apprend plein de chose sur git mais manque quelques astuces trouvé par-ci par-là sur internet

Big workflow for git : http://nvie.com/posts/a-successful-git-branching-model/
Description du workflow le plus compliquer a utiliser mais le plus flexible et le plus solide

Différent workflow utilisable pour git : https://www.atlassian.com/fr/git/workflows
Il y a un workflow très similaire a svn. d'ailleur il y a des comparasons a svn.
Il y a beaucoup de details sur les cas possibles (gestion des conflits et bonne utilisation)

créé le samedi 23 août 2014 à 15:18:42

retour

loading