Git / GitHub



Les bases de la collaboration au quotidien



Formation disponible sur formations.django-creation.fr

Formateur Christophe VANFRACKEM (@djangocreation)

Programme

Formation dispensée en 14h (Théorique et pratique)

  • Pourquoi utiliser Git ?
  • Commande de bases en local
  • Les branches
  • Travail en ligne
  • Collaborer dans une équipe
  • Collaborer sans être dans l'équipe
  • Bonus !

Logo Git

Pourquoi utiliser Git ?


Raison 1 : Versionner vos projets


Git permet de retrouver toutes les versions sur chaque fichier du projet suivi par Git.

Raison 2 : Travail en groupe


Git permet de mutualiser/fusionner les développements sans écraser le travail précédent.


Raison 3 : Suivi chronologique


Git suit l'évolution sur chaque fichier ce qui permet un retour sur une étape antérieure.


Raison 4 : Lien avec le réseau social GitHub


GitHub est une couche Web pour gérer vos projets GIT et les rendre visibles par de possibles recruteurs.


Commandes de bases en local

/!\ NOTA : Aucune connexion à Internet n'est requise. /!\

git init

Initialiser un projet.

$ git init
Commande Git init

git status

Voir le statut des fichiers sur le projet.

$ git status
Commande Git status

git add <file>

Ajouter un fichier pour la sauvegarde.

$ git add index.html
Commande Git add

git commit --message=<message>

Sauvegarder les fichiers ajoutés.

$ git commit -m"First Commit"
$ git commit --message="First Commit"
Commande Git commit

git diff

Voir une vue différentielle des changements depuis le dernier commit.

$ git diff
$ git diff index.html
Commande Git diff

git log

Suivre l'historique des commits sur le projet.

$ git log
Commande Git log

Les Branches

/!\ NOTA : Aucune connexion à Internet n'est requise. /!\

Organiser son travail !


Créer une branche à chaque fonctionnalité ou test.

git branch <feature>

Créer une branche "feature".

$ git branch feature

git checkout <feature>

Permet de travailler sur la branche "feature".

$ git checkout feature
$ git commit -m"Change title"

git merge <feature>

Fusionner les changements entre deux branches.

$ git merge

git branch -d <feature>

Supprime la branche en vérifiant si elle a été mergée.

$ git branch -d feature
$ git branch -D feature

Travail en ligne

Travail à distance via GitHub.

Création du projet commun


Créer le projet Git sur https://github.com/new

git remote add <name> <url_project>


Ajouter une télécommande vers le projet GIT sur GitHub.

git push <remote> <branch>


Permet d'envoyer (pousser) la branche "branch" sur le serveur GitHub.

git pull <remote> <branch>


Permet de récupérer (tirer) la branche "branch" sur le serveur GitHub.

Collaborer dans une équipe

Travail à plusieurs sur le même projet.

Ajouter des collaborateurs sur le dépôt


Donner les autorisations à d'autres profils pour contribuer.

git clone <url_project> [dossier]


Clone le dépôt pour travailler en local.

Modifier le code sur le dépôt


Pour patcher/corriger un fichier.

Soumettre une pull request au lieu d'un merge


Pour proposer mes corrections et faire relire son code.

Collaborer sans être dans l'équipe

Apporter sa contribution sur d'autres projets.

Forker un dépot sur GitHub


Permet de copier un dépôt où l'on ne peut pas contribuer directement.

git clone <url_project_fork> [dossier]


Clone le dépôt forké pour travailler en local.

Modifier le code sur son dépôt forké


Pour patcher/corriger un fichier.

Soumettre une pull request


Pour proposer mes corrections aux mainteneurs du dépôt.

Bonus :

Anti-sèche GIT

  • git init : Initialise un dépôt git.
  • git status : Affiche le statut du projet
  • git add <FILE> : Ajoute un fichier à suivre
  • git commit -m "message" : Consigner toute modification.
  • git remote add origin [url_projet] : Connecte votre dépôt local avec GitHub.
  • git push -u origin nom_branche : Pousse les modifications vers GitHub
  • git pull origin nom_branche : Récupère les modifications depuis GitHub
  • git -b <NomBranche> : Crée une nouvelle branche dans votre dépôt.
  • git log: affiche un journal des modifications au dépôt
  • git clone <url_projet> : clone un projet de votre système à partir de github
  • git branch <nom_branche> : crée une copie de la branche master appelée
  • git checkout <branch_name> : bascule vers nom_branche comme branche de travail
  • git branch -a : affiche les branches existantes pour le dépôt particulier

Des questions ?

À vos projets !!

Formateur Christophe VANFRACKEM (@djangocreation)