Comprendre les lignes de commande git avec des dessins !

On va expliquer git et github.

Parce qu’en vrai, git et github, c’est pas pareil.

Git, c’est un logiciel de versioning ou de suivi de version en Français. C’est le truc que t’installes sur ton ordi.
Et Github, c’est un site qui propose un service d’hébergement des dépôts git. Github propose même une version « desktop » de git (où t’es pas obligé de connaître les lignes de commande, mais bon, c’est quand même mieux de les connaître parce que même avec l’interface jolie, on peut avoir des surprises).

Alors bon, avant de lire ce que j’ai écrit, faut déjà installer git. Et pour ça, va falloir te débrouiller (le sujet, c’est les trucs qu’on écrit dedans, pas comment on l’installe. Désolé mon p’tit chat).

Après, tu t’as donc deux options :

  • soit tu bosses en solo,
  • soit tu bosses avec des gens.

Et comme je suis une newbie aussi, je vais te livrer des astuces de survie que je connais, que j’utilise tout le temps, qui sont peut-être pas super super mais au moins, j’ai eu le mérite d’héberger mes projets perso et de mener des projets en équipe jusqu’à leur terme (et leur succès !).

Je te préviens tout de suite, Git, c’est pas simple. C’est tellement compliqué que des mecs ont développé un site qui s’appelle Oh, shit, git!.

Dans mon cas, j’ai écris ce post et j’ai eu autant de « mais y’a mieux comme méthode pour faire ça » que de nombre de développeurs à qui j’ai fait lire ceci avant de le poster.
Mais comme Patricia (Responsable communication dans mon centre de formation) me l’a dit : « y’aura toujours des gens qui savent mieux et plus que toi mais pense aussi à ceux qui en savent moins que toi et qui comprendront peut-être ce que t’as envie de partager !« .

Pour commencer, qu’est-ce que je fais si je suis seul ?

Faut déjà avoir un projet. Ton projet, tu vas bien le commencer dans un dossier, sur ton ordinateur, on est d’accord ?
Si t’es tout seul à travailler dessus, tu vas juste vouloir le sauvegarder sur github pour, éventuellement, pouvoir revenir en arrière si tu fais une grosse connerie (ouais, ça sert aussi de machine à voyager dans le temps. C’est moins sexy qu’un TARDIS mais au moins, ça existe IRL).
Tu te dis déjà que git, c’est trop compliqué, que t’arrives déjà pas à dire à ton ordi que tu veux lier ton dossier avec ton compte github, et tout et tout… Je te fais un résumé rapide, là, maintenant, tout de suite, des 4 commandes que tu vas utiliser tout le temps.

Ouais. 4.

T’admettras que c’est pas la mort…

Voici les 4 fameuses commandes que tu vas utiliser :

  • git init
  • git add .
  • git commit -m « message à joindre au commit »
  • git add remote origin [url de ton repo]
  • git push origin master

T’as rien compris ? Don’t worry bébi, j’t’ai fait des illustrations plus loin. C’est juste pour que tu repères que, potentiellement, le reste, tu peux zapper pour le moment.

Oublie quand même pas de zieuter la partie où je cause des remote et des adresses à pécho sur github.

Et si je suis à plusieurs ?

Bah là, tu suis tout ce que je vais raconter ci-dessous avec attention.

Attention, on commence ici les choses sérieuses !

Pour prévenir GitHub que tu veux commencer un nouveau projet
debut git
GitHub va ensuite te proposer de lui donner un nom et une description
nouveau projet
[là c’est pour si tu bosses à plusieurs]
Mettons, tu veux bosser sur un projet existant. Tu vas devoir cloner ce projet sur ton ordinateur pour pouvoir travailler dessus.

Pour cloner le projet existant, tu vas sur la page github du projet, tu repères ce bouton et en cliquant dessus, ça va créer un répertoire github, lié au projet principal sur ton compte github.
fork github

projet principal github
Ça, c’est la capture d’écran d’un projet sur github.com

En cliquant sur [Clone or download], on obtient le lien du projet principal (le projet d’origine. D’ailleurs, on va appeler ce lien « origin »).

3-adresseprojetprincipal

Ici, on a un fork. C’est à dire qu’on va participer à un projet principal (le projet d’origine). Donc sur Github, on va créer une branche [fork] et ensuite, on va récupérer le lien de cette branche (qu’on va appeler fork pour pas se faire chier).

ma contribution

Depuis le projet sur lequel on veut bosser, on va faire un fork.
fork github

Une fois que t’as installé git sur ta machine (mais j’ai pas envie de l’expliquer parce que je m’en rappelle plus et parce que j’ai pas trop galéré, donc ça doit pas être trop chiant à faire), faut que tu choisisses un dossier dans lequel tu vas travailler et ensuite, tu fais click+droit.
T’obtiens ça et tu cliques sur [Git Bash Here].
gitinit

Initialiser git

git init

Tellement compliqué que j’ai pas fait de dessin.
Tu crées un nouveau dossier sur ton ordi, où tu veux. Et on va ensuite devoir dire à Git qu’ici, c’est un espace de travail (un dépôt) git.

Donc on initialise git, on git init !

Établir une connection entre l’ordinateur et GitHub

Pour ajouter une adresse (et lui attribuer un nom) à la liste des remote.

Avec les captures d’écran plus haut, j’ai montré comment obtenir le lien du projet principal, le projet d’origine (qu’on nomme origin).
Du coup, là, on va utiliser ce lien en ajoutant le lien à notre répertoire de lien (remote).
Ici, vu qu’on bosse sur un projet d’origine (origin) mais sur notre branche à nous (fork), on va d’abord écrire :

git remote add fork [lien c/c depuis github de notre branche.]
git remote add origin [lien c/c depuis github du projet d’origine]
git add remote

git remote -v

C’est pour connaître le listing des remote. On s’en sert pour vérifier qu’on s’est pas trompé ou si on ne se rappelle plus des noms qu’on a associé aux lien.
(je fais simple mais oui, il se peut qu’on ait plus de 2 branches aussi, donc ça peut être le bordel, d’où l’importance de savoir accéder à ce super répertoire)
git remote -v

En général, on nommera origin le nom du remote (le lien github) du projet principal.

Et on nommera fork le nom du remote (le lien github) de sa branche à soi. C’est à dire que si on participe à un projet principal qui n’est pas le nôtre (mais celui d’un copain ou d’un chef de projet), bah on va créer une branche à nous sur laquelle on va travailler de notre côté.

Récupérer le contenu d’un projet déjà existant

git pull [nom du remote] [master]

pull, c’est tirer, comme dans tirer vers soi. Mais j’aime bien l’idée d’un aspirateur qui va aspirer tous les fichiers depuis github vers mon ordinateur.

A la base, comme ton dossier, il est peut-être vide, faut récupérer les données du projet d’origine. Donc on va faire un

git pull origin master
git pull

Une fois qu’on a un peu travaillé dessus, on va créer une sauvegarde de son travail

git add .

ça, c’est pour ajouter les fichiers dans une ‘boîte’.
Je m’explique :
T’as récupéré le projet d’origine et t’as fait pleins de modifs dessus. Tu peux pas les envoyer directement au mec qui bosse sur le projet principal. Tu dois d’abord te l’envoyer à toi, sur ta branche fork.
Du coup, comme quand tu prépares un colis à envoyer par la poste, tu prends une boîte et tu mets tes modifications. Pour pas se faire chier, on fait souvent :

git add .

git commit -m [message]

Alors là, on ferme la boîte dans laquelle on a mis les fichiers, les modifications, les suppressions,…, puis on met un petit message pour dire ce qu’on envoie.

C’est plus sympa pour le gars qui bosse sur le projet d’origine, comme ça il sait ce que t’as foutu en quelques mots.
Et si tu bosses tout seul sur ton projet rien qu’à toi, bah ça te fait un point de repère.
git commit -m

Pour envoyer la sauvegarder sur GitHub

git push fork master
Oui parce que c’est bien beau de mettre des modifs dans une boîte, de fermer la boîte et d’y mettre un ‘tit mot mais encore faut-il l’envoyer ! On utilisera donc la commande git push fork master.

On se rappellera de push = pousser = pousser le colis vers la sortie (coup de pied au cul)
Pourquoi git push fork master ?

Fork parce que tes modifs, tu les envoies d’abord à toi-même et pas directement au chef de projet.
master, parce que c’est l’endroit où se trouve tes modifications sur ton ordinateur. (à savoir que tu peux faire des branches locales aussi donc on peut avoir d’autres noms mais là, on reste simple)
git push

Pour proposer sa contribution au projet d’origine

Et ensuite, il faudra aller sur github pour [New pull request]. Ça permettra de proposer un ajout au projet principal. (mais là, y’a pas de lignes de commande à rentrer, c’est juste des boutons sur le site de github.
newpullrequest

Nota Bene : Après, on n’est pas obligé de bosser sur github, y’a aussi l’alternative framagit : https://framagit.org/public/projects 🙂

Dans un prochain post, si j’ai la motivation, j’expliquerai les branches !

Un commentaire pour “Comprendre les lignes de commande git avec des dessins !

Laisser un commentaire

Articles similaires

Commencez à saisir votre recherche ci-dessus et pressez Entrée pour rechercher. ESC pour annuler.

Retour en haut