Git

Répondre
gbfree
Mini-flooder
Messages : 609
Inscription : 14 janv. 2011, 19:48
Steam ID : guillaume free
Localisation : Aquitaine

Git

Message par gbfree »

Machin utile (ya aussi git help sinon):
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
Une fois le problème résolu (non on les pas les 2 version et les =====), on add les fichiers corrigé puis commit (et push si on veut).

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).
Image
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.
"Be careful! Focus 20% of our attention on the enemy and 80% on our allies at the back!!"
Yoshii (Baka to Test)

Say . . . why do people die anyway?” he asked.
Because you kill them.
Zaregoto

Image
Image
Helgrind
Maître absolu du forum
Messages : 8144
Inscription : 29 mai 2010, 14:46
Nom RP : Marcel Patulacci
Steam ID : STEAM_0:0:30080350
Localisation : Flood-Land
uselesspoints 37
usefullpoints 1
Contact :

Re: Git

Message par Helgrind »

Bonne idée ce topic pour ceux qui sauraient pas s'en servir +1
Image
Avatar de l’utilisateur
Oyabi
Bro'
Messages : 466
Inscription : 25 mars 2011, 21:44
Nom RP : Jesse Claythorne
Steam ID : Oyabi
Contact :

Re: Git

Message par Oyabi »

Homosex
Zoomer
Mega-flooder
Messages : 2325
Inscription : 09 mars 2011, 20:06
uselesspoints 2

Re: Git

Message par Zoomer »

gud
Image
Répondre