MEMO GitHub

 

 

19/03/2023 – 20/03/2023 - Création du dépôt sur Github

 

- Maj : 21/08/2023 -

 

 

https://github.com/username/projectName

 

 

$ git config -- get user.email                > Affiche le mail utilisé sur le compte

 

$ git config --global user.name « user n ame »                > Définit l’utilisateur

$ git config --global user. email a@b.fr                         > Définit son mail

$ git config --global user. password "12345"                 > Définit son m ot de passe

 

$ git clone https:// <Token> @github.com/username/projectName.git        > clone le repository distant dans le répertoire local courant. <Token> est le code de sécurité fourni par Github, en remplacement de la traditionnelle paire { user, password }

 

 

 

Pour créer un jeton qui permet l’accès au dépôt, à la commande git clone… :

 

Menu Profil > Settings > <>Developper settings > Personnal access > tokens > Tokens (classic)

 

 

$ cd projectName

 

Créer un commit :

 

$ echo « Bonjour » > README.md

 

$ git status                        > pour constater que le fichier a bien été créé, pas encore ajouté au dépôt.

 

$ git add README.md         > ajoute le fichier dans l’espace de staging (index)

 

$ git status

 

$ git commit -m « ajout fichier README.md »         > pour créer un commit à partir de l’espace de staging

 

$ git status

 

$ git push                         > pour uploader le commit sur le dépôt distant

 

 

Travail en commun

 

Fetch :
Les branches distantes sont importées dans le dépôt local avec un nom de la forme dépôtDistant/nomBranche

L'action « fetch » récupère dans le dépôt local les versions disponibles sur un dépôt distant et met à jour ou crée les branches de suivi

 

Merge :
On fusionne dans la branche courante la branche distante de même nom

 

Commit :
On archive le résultat de la fusion

 

Push :
On transfère sur le dépôt distant l'historique de la branche courante

L'action « push » transfère la branche locale sur le serveur. Si une branche de même nom n'existe pas sur le serveur, elle est créée. Sinon, si un « fast-forward » peut être effectué, la branche sur le serveur est mise à jour. Sinon, le « push » est refusé

 

Pull

L'action « pull » fait un « fetch » puis un « merge » dans une branche locale b à partir de la branche de suivi associée (b/d par défaut)

 

Travailler à plusieurs avec un dépôt commun

 

Principe de base

 

 Dépôt « en ligne » accessible par tous, au moins  occasionnellement
 Chacun « clone » le dépôt commun sur sa machine

 

Périodiquement :

 

 Mise à jour de son dépôt local à partir du dépôt commun

 Transfert de versions stables de son travail dans le dépôt commun



Principe « évolué »

– Faire un « fork » du dépôt commun et travailler avec ce dépôt personnel distant
– Faire des « pull request » vers le dépôt commun lorsqu'on a atteint une version stable sur son dépôt personnel distant

 

 

 

En résumé…

 

 

● On travaille toujours avec 2 dépôts


– Le dépôt local
– Un dépôt « distant » (remote) auquel on associe un nom

● Les 4 principales commandes git permettant d’interagir avec un dépôt distant sont :

 

- git fetch : on récupère en local le contenu du dépôt distant
-
git pull : équivalent d’un git fetch suivi d’un git merge
-
git push : on transfère l’état actuel de la branche courante ( + historique) vers le dépôt distant
-
git clone : on crée un dépôt local à partir d’un dépôt distant

 

 

 

 

Commandes GIT de Base

Git config

Git init

Git add

Clone git

Git commit

Git status

Git push

Git checkout

Git remote

Branche git

Git pull

Git merge

Git diff

Git tag

Git log

Git reset

Git rm

Git stash

Git show

Git fetch

Git ls-tree

Git cat-file

Git grep

Gitk

Git instaweb

Git gc

git   archive

Git prune

Git fsck

Git rebase