Utiliser Git : Différence entre versions

De Wiki. Analyse, Communication, Développement, Hacking.
Aller à : navigation, rechercher
(Utiliser Git)
 
m (Installation)
 
Ligne 174 : Ligne 174 :
 
Cette commande n'affectera pas votre travail, elle rendra l'acces a votre depot local plus rapide, et diminuera l'espace occuper par le dossier .git.</p>
 
Cette commande n'affectera pas votre travail, elle rendra l'acces a votre depot local plus rapide, et diminuera l'espace occuper par le dossier .git.</p>
  
                              <h2>Utiliser les tag</h2>
+
=Utiliser les tag=
  
                              <p>les tags permettent de donner un nom a une revision. Partout ou vous pouvez specifier un hash de revision (dans ''git log'' par exemple, mais aussi dans les commandes de checkout,de merge, etc),<br> au lieu de donner le-dit hash, vous pourrez donner un nom. Ce nom doit etre sans espaces, court et explicite de preference.<br> C'est un tag. Pour tagger une revision, rien de plus simple :</p>
+
Les tags permettent de donner un nom a une revision. Partout ou vous pouvez specifier un hash de revision (dans ''git log'' par exemple, mais aussi dans les commandes de checkout,de merge, etc),<br> au lieu de donner le-dit hash, vous pourrez donner un nom. Ce nom doit etre sans espaces, court et explicite de preference.<br> C'est un tag. Pour tagger une revision, rien de plus simple :</p>
                               <p id="mono"> mon_tag devient alors un alias pour la derniere revision envoyee dans la branche courante.<br> Comme pour les branches, on peut supprimer des tags avec l'option -d </p>
+
                               <p id="mono"> mon_tag devient alors un alias pour la derniere revision envoyee dans la branche courante.<br> Comme pour les branches, on peut supprimer des tags avec l'option -d
  
<!--  resumé-->
+
=Synthèse Git=
 +
git est un logiciel de gestion de versions decentralise. C'est un logiciel libre cree par Linus Torvalds, auteur du noyau Linux<br>, et distribuer selon les termes de la licence publique generale GNU version 2. En 2016,<br> il s’agit du logiciel de gestion de versions le plus populaire qui est utiliser par plus de douze millions de personnes4.
  
<h1> Resumer Git </h1>
+
=Bibliographie=
git est un logiciel de gestion de versions decentralise. C'est un logiciel libre cree par Linus Torvalds, auteur du noyau Linux<br>, et distribuer selon les termes de la licence publique generale GNU version 2. En 2016,<br> il s’agit du logiciel de gestion de versions le plus populaire qui est utiliser par plus de douze millions de personnes4.<p/>
+
[[Fichier:ok-ko.png]] Source : https://rogerdudler.github.io/git-guide/index.fr.html
<br>
 
<br>
 
<br>
 
</body>
 
</html>
 
  
 
{{Transclusion_Navigation}}
 
{{Transclusion_Navigation}}

Version actuelle datée du 21 septembre 2017 à 12:10

 Le Wiki collaboratif de Vision du web vous encourage à écrire en Markdown, le langage de mise en forme qui permet d'intégrer du contenu sur un wiki.
 Avec les deux outils suivants, vous pouvez tester le principe du Markdown, vous verrez, c'est très simple : https://stackedit.io/editor et http://www.tablesgenerator.com/mediawiki_tables
 Maintenant que vous avez testé le Markdown, vous pouvez participer à l'élaboration du contenu sur différents wiki existants, pour cela, il vous faut créer votre compte utilisateur.

Utiliser git - Les commandes

https://kikim5959.github.io/GIT/

A propos de git-flow

git-flow est un ensemble d'extensions git permettant des opérations de haut niveau sur un dépôt pour appliquer le modèle de la branche.

Conseils de base

Les commandes et sorties de Git-flow apportent une aide precieuse.
Lisez les attentivement pour comprendre ce qui se passe...
Le logiciel pour OSX Sourcetree est une excellente interface graphique pour git qui supporte git-flow.
Git-flow est une solution basée sur les fusions (merge). Elle n'effectue pas de rebase sur les branches de fonctionnalités.

Installation

sudo apt-get install git-core gitk

Configurer Git

Maintenant que Git est installer, vous devriez avoir une console ouverte</br> dans laquelle vous allez pouvoir taper des commandes de Git.

Dans la console, commencez par envoyer ces trois lignes :

git config --global color.diff auto

git config --global color.status auto

git config --global color.branch auto

Elles activeront la couleur dans Git. Il ne faut le faire que une fois,et ca aide a la lisibiliter des messages dans la console.

Ajouter et supprimer des fichiers

       L'ajout d'un fichier s'effectue, comme vu un peu plus haut,avec la commande</p>
       
git add nom_du_fichier
       Pour retirer un fichier du suivi, faites<

git rm chemin_vers_le_fichier
       Son statut sera maintenant 'deleted'. Attention, il sera egalement supprimer de votre copie locale ! En cas de mauvaise manipulation, faites, pour faire reapparaître le fichier :

git reset chemin_vers_le_fichier
           Cette commande sert de facon generale a annuler les modifications apportees depuis la derniere mise à jour,
           
en ajoutant l'option --hard. Là faites bien attention, c'est irreversible par contre ! Par exemple, si j'ai modifier index.php mais que je souhaite annuler mes modifications, je ferai </p>

git reset --hard index.php
       Si vous voulez seulement arreter le suivi d'un fichier, sans le supprimer,
           
vous devez utiliser l'option --cached. Cela conserve votre fichier local mais arrete son suivi. Exemple :</p>

git rm --cached fichier_prive

vous donne un diff unifier entre votre copie de travail et la derniere revision recuperee de votre branche.


git diff

Partager ses modifications

Maintenant, vous pouvez enfin envoyer vos modifications. Commencez par faire un commit
Pour envoyer vos modifications, rien de plus simple

git commit -m "Le message de commit, vous savez celui qui apparait dans git log ?"

Si vous ne voulez envoyer que certains fichiers,
ajoutez derriere le message de commit la liste des fichiers ainsi

git commit -m "Le message de commit." fichier1 fichier2

Normalement, vous devez passer par ★git add★ pour chacun des fichiers que vous avez modifié,
mais il existe un raccourci bien pratique,
l'option -a qui ajoutera automatiquement tous les fichiers modifiés déjà suivis
(donc pas les nouveaux fichiers, attention !).

git commit -am "Le message de commit."

Vous pouvez omettre l'option -m, votre editeur favori s'ouvrira
alors pour que vous puissiez rentrer un message de commit.
Quand vous utiliserez les branches, faites bien attention à verifier
dans quelle branche vous envoyez vos modifications en faisant un

git branch
       <p>A ce stade, les autres developpeurs ne savent pas que vous avez fait des modifications.

Il va vous falloir faire un push. Là encore rien de plus simple :

git push origin master

Recuperer les modifications des autres

Pour mettre à jour votre version locale, il va vous falloir lancer

git pull
<

Si vous travaillez sur une branche de test et qu'un developpeur modifie la branche master,
vous ne serez pas affecter taper:

git log --all fera tout de même apparaitre la modification).

Creer des branches

Pour visualiser la branche sur laquelle vous travaillez
(important a faire avant un pull ou un push en cas de doute),

git branch
  • 1 creer une nouvelle branche a partir de la revision actuelle et sy rendre
    taper git checkout -b ma_super_branche


    • 2 seulement creer la branche, rester sur la branche actuelle
      taper git branch ma_super_branche
    •            

    • 3 Afficher les branche distante
      taper git branch -a
    • A present, si vous voulez travailler sur une des branches presentes sur GitHub,
      il vous faut creer une branche locale qui sera liee à la branche distante.
      Cela se fait egalement avec la commande git branch
      (ou git checkout -b, en ajoutant un un argument, le nom de la branche distante

      git checkout -b mwsaz origin/nom-de-votre-branch

                 


      Ici, j'ai demander a creer une branche recherche calquee sur la branche recherche disante. Ainsi, quand je ferai git pull, ma branche locale sera mise a jour. On ne travaillera jamais sur des branches distantes.

      Maintenant que vous avez une vague idee du concept de branches locales/distantes, vous devez vous demander comment envoyer une branche locale sur le serveur. On se place donc dans le cas ou vous voulez creer une nouvelle branche, qui n'existe pas sur le serveur. Il vous faut tout dabord creer une branche locale, puis la pusher sur le serveur :

      git checkout -b nom_de_la_branche # Creation de la branche locale

      Les branches peuvent etre fusionnees, supprimées,
      n'hesitez pas pour a en creer des que vous vous lancez dans un travail setendant sur plusieurs commits.
      Pour changer de branche, il vous faut faire git checkout nom_de_la_branche. Il faut que votre repertoire de travail soit propre, c'est à dire que git status naffiche aucun fichier comme modified. Un git branch vous indiquera à l'issue de cette manipulation que vous vous trouvez sur nom_de_la_branche. Si vous souhaitez changer

      Fusionner des branches

      Pour fusionner toutes vos modifications avec la branche par defaut, assurez de n'avoir plus aucun fichier modifié en attente (faites un git status et assurez-vous qu'il ne renvoie rien).
      Puis passez à la branche par defaut, et enfin fusionnez les deux :

      git checkout master

      git pull . nom_de_la_branche_à_merger

      Attendez, resolvez les conflits. Voila, votre branche de developpement a ete fusionnee dans votre branche par defaut.
      Vous pouvez aussi faire l'inverse. Si par exemple vous corrigez un bug dans la branche principale,
      il y a de fortes chances qu'il soit aussi dans les autres branches.
      Dans ce cas, vous devez vous placer dans la branche de developpement, et comme precedemment :

      git checkout ma_branche

      git pull . master

      Supprimer des branches

      Pour supprimer une branche locale, il suffit de passer l'option -d a git branch

      git branch -d ma_branche

      Cette commande ne fonctionnera que si cette branche a ete fusionner, sans quoi vous perdriez des commits. Pour la supprimer si elle contient des commits non fusionner, il faut utiliser l'option -D. En faisant cela, ferez disparaître les modifications de cette branche qui n'ont pas ete fusionnees !
      N'utilisez cette option que si vous savez ce que vous faites. Pour supprimer une branche distante, il y a deux etapes : supprimer votre branche locale, qui la suivait ; supprimer la branche distante.

      git branch -d ma_branche

      git push origin :ma_branche

      Vous pouvez aussi ne supprimer que la branche distante,
      la branche locale correspondante sera supprimer au prochain git gc.

      Maintenance

      Au fur et a mesure de vos commits, votre copie locale du depot s'encrasse : les fichiers sont stocker en piles, et il est bon de faire le menage de temps en temps.
      Une commande (qui en combine plusieurs est la pour ca

      git gc

      Qui lance en fait, entre autres, git repack et git prune (gc = garbage collect).
      La premiere va recompresser les fichiers, et s'assurer que le depot n'est pas fragmente. La deuxième permet de faire le menage dans les branches distantes non utiliser (suppression des branches locales de suivi qui pointent sur une branche distante supprimer). Cette commande n'affectera pas votre travail, elle rendra l'acces a votre depot local plus rapide, et diminuera l'espace occuper par le dossier .git.</p>

      Utiliser les tag

      Les tags permettent de donner un nom a une revision. Partout ou vous pouvez specifier un hash de revision (dans git log par exemple, mais aussi dans les commandes de checkout,de merge, etc),
      au lieu de donner le-dit hash, vous pourrez donner un nom. Ce nom doit etre sans espaces, court et explicite de preference.
      C'est un tag. Pour tagger une revision, rien de plus simple :</p>

                                   <p id="mono"> mon_tag devient alors un alias pour la derniere revision envoyee dans la branche courante.
      Comme pour les branches, on peut supprimer des tags avec l'option -d

      Synthèse Git

      git est un logiciel de gestion de versions decentralise. C'est un logiciel libre cree par Linus Torvalds, auteur du noyau Linux
      , et distribuer selon les termes de la licence publique generale GNU version 2. En 2016,
      il s’agit du logiciel de gestion de versions le plus populaire qui est utiliser par plus de douze millions de personnes4.

      Bibliographie

      Ok-ko.png Source : https://rogerdudler.github.io/git-guide/index.fr.html

      NAVIGATION

      CHERCHER UNE AUTRE PAGE SUR LE WIKI

      D'autres pages du wiki peuvent correspondre à vos attentes : Accueil --- Sommaire des projets --- Sommaire des tutoriels pour webmaster --- Sommaire We make Hack.
      

      COMPRENDRE LA BLOCKCHAIN PAR LA PRATIQUE

      Obtenir gratuitement de la cryptomonnaie sur internet : https://www.visionduweb.eu/forum/bitcoin/1597-gagner-des-bitcoins-miner-des-bitcoins
      

      LIRE ET PARTAGER

      Le wiki collaboratif du HackerSpace Vision du Web.
      Les pages présentées sur le wiki évoluent tous les jours.
      Certaines recherches sont peu abouties et incluent des erreurs.
      La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
      Les informations présentes sur cette page sont issues d'une recherche personnelle.
      Vous pouvez partager les liens du wiki avec l'ensemble de la communauté des internautes.
      Vous pouvez améliorer le contenu du wiki et faire vos propositions depuis l'onglet discussion.
      

      SOUTENIR VISIONDUWEB

      Soutenir Vision du web avec quelques Bitcoins : 33ZsupGQr1rUmwj62HadcZ55hsGJajD9wN
      Soutenir Vision du web avec quelques Bitcoins Cash : 1ATSDJeoQr71x7xNDRytxFnxQ8ckDUeDbT
      Soutenir Vision du web avec quelques Blackcoins : B6MyLMPtzg8D15mHt8jYi7nVjYWEyVXJzA
      Soutenir Vision du web avec quelques Dogecoins : A64jhqCgsUyrUCPte6fV3BcG2Y7daH13Ym
      Soutenir Vision du web avec quelques Ethereum : 0x0E4D6B7A1F88A56A1A66bf408c72FAE3d104D632
      Soutenir Vision du web avec quelques Litecoins : 3LKigW6TCS5MvXrZFGh8VMEtZf6MtE86iz
      Soutenir Vision du web avec quelques Potcoins : PUYvjeJ3n2frypgD5yd95yNnwoztnZL5P3