git/github a 101 course
Introduction
git et github sont 2 outils bien distinct, permettant de gérer des projets de développement. Git permet, comme sont ancêtre SVN, de gérer les versions de son code, mais permet aussi de gerer un systeme de branche (cf suite du cours), ce qui permet le travail en paralelle. Github est un service web permettant d'heberger des projets git, et de les partager avec d'autres personnes.
Git
Comme dit plus tot, git est un outil de gestion de version. Il permet de gérer les versions de son code, et de revenir à une version antérieur si besoin. Il permet aussi de travailler en paralelle sur un même projet, en créant des branches. Il est aussi possible de fusionner des branches entre elles, pour avoir un code final.
En revanche, tout cela ce fait en local, et en aucun cas git communique entre les ordinateurs. C'est la que github intervient.
Github
Github est un service web permettant d'heberger des projets git. Il permet de partager son code avec d'autres personnes, et de travailler en équipe. il a toutes les fonctionnalités de git, avec un concepte en plus, qui diffère de svn, les pull request. Sur svn vous aviez la possibilité de faire des commit, et tout s'envoyé sur le serveur sans vous demander votre avis. Sur github, vous pouvez faire des pull request, qui permettent de demander à l'administrateur du projet de fusionner votre code avec le sien. Cela permet de faire des revues de code, et de ne pas avoir de code qui ne fonctionne pas sur le projet.
Instalation
bon passons au choses serieuses. insallons git !
Linux
Sur linux, git est disponible dans les dépots de votre distribution. Pour l'installer, il suffit de taper la commande suivante dans un terminal :
sudo apt-get install git
Windows
Windows c'est de la merde, mais bon, on va quand même vous expliquer comment installer git dessus. Pour cela, il suffit de télécharger le fichier d'installation et de l'executer.
Mac
Sur mac, il suffit d'installer homebrew, puis d'executer la commande suivante :
brew install git
Utilisation dans les projets
recuperer un projet
Pour recuperer un projet, il suffit de taper la commande suivante :
git clone https://url/du/projet.git
cd ProjetOueb
pour commencer a travailler
verifier que vous etes sur la derniere version du projet :
git pull
puis creer une branche pour travailler :
git branch nomDeLaFeature
git checkout nomDeLaFeature
pour envoyer son travail
git add .
git commit -m "message de commit"
git push origin nomDeLaFeature
si c'est la premiere fois que vous envoyez votre branche, il faut faire :
git push --set-upstream origin nomDeLaFeature
pour le lier a un fix de bug ou une feature, il faut faire :
git commit -m "message de commit" -m "fix #numeroDuBug"
pour fusionner son travail
Pour fusionner son travail, il faut faire une pull request sur github. Pour cela, il faut aller sur la page du projet, et cliquer sur le bouton "New pull request". Il faut ensuite choisir la branche a fusionner, et la branche de destination. Il faut ensuite cliquer sur "Create pull request", et attendre que l'administrateur du projet accepte la pull request.
après la fusion
Une fois la pull request acceptée, il faut supprimer la branche de travail, et mettre a jour la branche de dev :
git checkout main
git pull