Vous êtes sur la page 1sur 3

MEMO GIT

Je modifie
git help config : permet d’afficher l’aide config

Les choses essentielles à configurer sont :


 user.email -> git config - -global user.email “xxx@hotmail.com”
 user.name -> git config - -global user.name “benj”
 ui color -> git config - -global color.ui true
Cela permet d’identifier les utilisateurs. Et d’activer les couleurs syntaxiques.

git config - -list permet d’afficher les paramètres


Astuce pour avoir un git log plus clair : git log --oneline --decorate --all --graph Comme c'est un peu
long voici la commande pour l'ajouter en alias : git config --global alias.lg "log --oneline --decorate --all
--graph" Il ne restera plus qu'à faire : git lg C'est plus clair qu'un simple : git log --oneline

git init : permet d’initialiser git. ( à taper dans le dossier du projet.)

git status : permet d’afficher l’état du dossier

git add fichier.extension : permet de stage le fichier a git. (on stage, cela veut dire qu’on prépare le
commit.)

git add fichier1.extension fichier2.extension fichier3.extension : stage plusieurs fichiers d’un coup

git add *.extension: permet de stage tous les documents avec .extension p.e

git add - - all : permet de stage tous les fichiers (il comprend les supressions, contrairement à .)

git add . : permet de stage tous les fichiers


git commit : permet d’envoyer le commit. Si on ne mets pas de message, ouvre vim pour l’entrer.
Une fois dans vim ‘’i’’ pour passer en mode insertion. :wq pour sauvegarder et quitter.

git commit -m “le message pour indiquer ce que fait le commit” : plus rapide que passer par vim

git commit -a -m “le message pour indiquer ce que fait le commit” : permet de stage et de commit
en une fois. Sinon il faudrait faire un git add fichier.extenstion et ensuite git commit –m “blablabla”

Créer un dossier .gitignore qui permet de préciser les fichiers que l’on souhaite ignorer
1. On crée le fichier .gitignore (touch .gitignore) voici une doc précise.
 https://www.atlassian.com/git/tutorials/saving-changes/gitignore
2. Dans ce fichier, on peut écrire *.tmp ignore tous les fichiers qui finissent par tmp
3. On peut écrire log.txt, ignorera log.txt
4. On peut écrire tmp/* : ignore tous les fichiers dans le dossier tmp

git help log : affiche l’aide!

git log : permet de lister les derniers commits effectués


git log - -n 2 : permet d’afficher que les deux derniers commits

git log - - oneline : permet d’afficher les logs sur une seule ligne

git log - -p fichier.extension : permet d’afficher tous les logs de ce fichier en particulier

git log - -n 1 –p fichier.extension : permet d’afficher un nombre donné de log sur un fichier donné

git diff : montre tous les fichiers modifiés depuis le dernier commit

REVENIR EN ARRIERE

git checkout 71f01b1 : permet de visionner un état passé. ATTENTION, on ne peut pas stage et
commit, uniquement voir l’état à ce moment du projet- La clé SSH1 peut se trouver facilement avec
la commande log.

git checkout master : permet de revenir à l’état du présent. master est le dernier commit, il apparait
“head master” lorsqu’on utilise la commande log

git checkout 71f01b1 fichier.extension : permet de revenir à l’état précisé par la clé SSH1. On
traduit ça par “prend le fichier.extension et mets le à l’état qu’il était lors du commit 71f01b1”

git checkout master fichier.extension : permet de revenir à l’état du dernier commit

git revert 71f01b1: permet de DEFAIRE ce qui a été fait à un commit en particulier. Si pendant le
commit 71f01b1 on a crée un dossier pleins d’image. Cette commande supprimera le dossier. On
pourra stager et commit le revert.

git reset 71f01b1: supprime l’historique en conservant toutes les modifications. À éviter.

git reset HEAD fichier.extension : permet d’annuler un stage (head varie)

git reset - - fichier.extension : permet d’annuler un stage

git reset - -hard : permet d’annuler les derniers commits ATTENTION DANGEREUX

git reset HEAD^ --hard : revient d’un cran (un cran par ^) et supprime le commit

POUR GIT LAB

Méthode facile :

1. On crée un dossier vide à côté du dossier à push


2. On va sur gitlab, on crée un nouveau projet, on prend le clone en https.
3. On ouvre le dossier 1. sur vsc et “ouvrir le terminal”
4. Git clone <adresse https> . (attention, le espace . Est important, il précise qu’on ne
copie pas lui-même...)
5. Notre dossier est initialisé, on mets nos dossier à envoyer à l’intérieur, on git add, on git
commit –m “” on push.
Prendre sa clé sur home cd .ssh copier / coller ce qui se trouve dans rsa.pub et coller ça sur gitlab

git rm : permet de supprimer un fichier

git remote add origin https://gitlab.com/ben/myapp : fait le lien avec la base de donnée git
(méthode complexe) on préfère SSH

git push –u origin master : on push la branche master sur la branche origin

Synchronisation avec le dépôt commun

git clone : récupère le dépôt distant dans une nouvelle copie locale avec toutes les branches

git remote : permet de lier une branche locale à une branche sur un dépôt distant

git fetch : récupère les commits des branches distantes sans modifier le working tree

git pull : merge les commits distants dans sa branche locale. Cela créer un commit de merge
modifiant le working tree.

git push : publie les nouveaux commits de sa branche locale sur la branche distante
git pull origin branchname --allow-unrelated-histories : il peut arriver un problème
lors du pull “fatal : refusing to merge unrelated histories” cette commande change le
comportement par défaut.

BRANCHES

git branch auth : crée une nouvelle branche

git checkout auth : se rendre sur une branche

git branch : se situer dans les branches

faire des modifications sur une branche

git add –A

git commit –m “Add authentification”

git push –set-upstream origin auth : pusher une nouvelle branche sur un dépôt distant

merger une branche dans une autre

git checkout master

git merge auth

git branch –d new : supprimer une branche

Vous aimerez peut-être aussi