https://www.git-tower.com/blog/content/ ... arge01.png
Comment utiliser git :
A) Sous un vrais système d'exploitation : console (ya 99% de change d'avoir git, j'pense que même Apple l'a, sinon sudo apt-get install git)
W) Sous Windows : Tortoisegit, chais plus si ça viens avec git démerdez vous. La console est absolument pourrie préférez l'interface graphique(ça ajoute des options quand on fait clic droit dans un dossier).
note : <> obligatoire , [] optionnel
Pour commencer on veut récupérer un dépôt a l’adresse URL_DU_DEPOT dans le dossier DESTINATION (avec le nom de compte USERNAME et le protocole PROTOCOLE):
Clone:
A)
git clone PROTOCOLE://USERNAME@<URL_DU_DEPOT> [DESTINATION]
Le protocole et l'URL dépendant du dépot que l'on veut clone.
Le password serra ensuite demandé dans la console.
W)
clic droit dossier destination
Git clone
on colle PROTOCOLE://<URL_DU_DEPOT>dans destination. Si on veut on change la destination. Et on coche rien en dessous.
L'username et password serra ensuite demandé dans une pop-up.
On remarque que les fichier indexé par git on un symbole validé en bas a droite.
Note : il est possible de cloner un sous dossier.
Il exite alors 2 serveur git avec le dépôt : local et distant.
Une fois des modification faites on veut les ajouter puis les commit (appliquer)[ajouter un ficher l'ajoute a la liste de trucs a commit] sur le serveur local.
Ajout :
A)git add NOM_DU_FICHIER
W) clickDroit -> TortoiseGit->Add -> cocher/decocher les sous fichier a ajouter/pas ajouter (si dossier) -> ok
On remarque le symbole rouge : modifié et pas commit.
Commit
A) git commit [-m "MESSAGE DECRIVANT LE COMMIT]"
si pas -m ouvre l'editeur de texte par default (bonne chance si c'est vim, essayez de passer à nano, plus simple à utiliser) enregistrez un message et fermez le.
W) clikDroit->Git commit -> entrez un message décrivant le commit (on peut voir en dessous la liste de fichier dont les modifs seront enregistré)
on remarque que l’icône est passé au vert.
Et mettez des messages clairs, c'est chiant de chercher quels fichiers ont été modifié par quel commit.
Le modification sont alors envoyé au serveur local (aka votre machine). ça veut dire que les autres les voient pas , mais que vous pouvez faire des branches/plusieurs commit dessus avant de les Push au serveur distant.
Push au serveur distant :
A) git push
va probablement demander votre password.
W) clicdroit->TortoiseGit->Push->Ok : note : si vous utilisez des branches vous pouvez choisir laquelle push.
Pull du serveur distant : Vous souhaitez accèder aux modifications d'un collègue, on ne pouvez pas push car quelqu'un a push ses modifs: pullez les commits des autres depuis le serveur distant:
A) git pull
W)Clickdroit ->TortoiseGit->Pull -> Ok
Conflit : Vous avez modifiez tous les 2 le même fichier, git est capable de merge seul vos modification tant que vous de modifiez pas la même ligne (et que le format n'est pas binaire), dans le cas contraire vous aurez un conflit.
git vous indiquera lors du pull les fichier en conflit, et placera les deux version du code dans le fichier(généralement limité a quelques lignes si vous avez pas réécris tous les deux tout le fichier).
Vous y trouverez des trucs style :
Code : Tout sélectionner
CODE QU'un seul des deux a modif
<<<<<MOI
CODE QUE LES DEUX ONT MODIFS A MERGE A LA MAIN, version MOI
====
CODE QUE LES DEUX ONT MODIFS A MERGE A LA MAIN, version LUI
>>>>LUI
CODE QU'un seul des deux a modif
Autre :
git rm /mv : supprime deplacer un fichier (si pas ça le fichier restera sur le serveur local/distant / serra en 2 exemplaires)
branche : différentes version du code, une sorte de sous serveur distant/local, où on peut faire des modifications sans impacter la branche principale, pour plus tard quand ça marche) faire un merge avec la branche principale(bonjour les conflits).
git checkout : annuler les modification d'un fichier (ramène a l'état du serveur local) / changer de branche
git log : voir historique des commit
git status : liste quels fichier sont modifié/commit/pas add (tortoise utilise des icônes différentes a la place de la commande : symbole vert/rouge/pas de symbole)
git diff : affiche les modifications pas commit.