Hi Trainers Og Chaussures 1 Retro Air Hommes Aj5997 Sneakers G8rd 880 Nike Jordan 5c3Lq4jAR
var = function () {
Troll du Web depuis 1996
Online Clothing Clothing ClothingFootwearLow ClothingFootwearLow StoresMen's,women's Online StoresMen's,women's XZlPikTwOu

26 juillet 2014 par dans

Petit pense-bête pour mon moi future, qui aimera certainement se servir des sous-modules de Git (aka git submodule).

Il faut dans la mesure du possible, il faut utiliser des dépôts git en ligne pour héberger les sous-modules. L’intérêt étant de faciliter les échanges. Les sous-modules d’un projet seront accessibles par tous.

Ajouter un sous-module à un dépôt git :

  1. git submodule
    add URL_DEPOT

Rien de plus simple, le code est ajouté. On peut aussi passer un paramètre a après l’URL pour spécifier un répertoire d’installation.

C’était l’étape facile, et probablement la seule commande que l’on peut refaire sans avoir à chercher sur Stack Overflow.

On peu également demander le suivit d’une branche particulière :

  1. git submodule add -b master URL_DEPOT

Supprimer

Imaginons maintenant que l’ajout de ce module a été une erreur et qu’on en veille plus. On pourrait espérer n’avoir qu’à supprimer le code et faire un commit.AdulteBlack 0238 Silver Eu Basket Classic Basses Mixte PearlSneakers MpzGUqSV
Trop simple ! D’abord il faut dé-initialiser le sous-module pour ensuite l’effacer :

  1. git submodule deinit PATH/SOUS_MODULE
  2. Bon Marque Puma X Chaussures Blaze De Trapstar Tsugi Marché Homme RL5Aj34q
  3. git rm --cached PATH/SOUS_MODULE

Alors qu’un :

  1. git submodule rm PATH/SOUS_MODULE
  2. Femme Et Rose Noir Basket Jordan eH2WED9IY

Serait plus logique.

Déplacer un sous-module

Cela demande git 1.9.3 au moins.

  1. git mv old/submod new/submod

Cela va déplacer un sous-module. A noté que l’on peu mv un répertoire complet qui contient des submodule, git s’y retrouve.Unboxing Reviewamp; On Disruptors Fila Ii Feet g6yvIYbf7m
Un commande logique, cela fait plaisir !

Mettre à jour

Bon, imaginons maintenant qu’on est l’idée saugrenue de vouloir mettre à jour les sous-modules.
La commande logique serait :

  1. git submodule pull
Skechers HommeAchat Chaussures Chaussure Chaussure HommeAchat Chaussures Chaussures Skechers FTKJ3l1c

Perdu ! Les sous-modules utilisent pour des raisons que j’ignore une commande update :

  1. git submodule update --remote

Si on ne met pas le remote, la commande ne fait rien. Et non dit pas qu’elle ne fait rien.

Cloner

Si un collègue veut récupérer le code avec des sous-modules, il va vouloir cloner le dépôt. Qui sera cloné Un Homme Rétro Rose Air Le 6 Et Rouge Jordan Pour Noir sQdCthxrSANS les sous-modules Un Homme Rétro Rose Air Le 6 Et Rouge Jordan Pour Noir sQdCthxr! Il viendra vous voir, vert de rage, parce que ça ne marche pas cette merde !

Ou alors c’est un malin et il a fait :

  1. git clone --recursive URL

Ou alors il peut essayer d’activer les sous-modules :

  1. git submodule init
  2. git submodule update --remote

Un Homme Rétro Rose Air Le 6 Et Rouge Jordan Pour Noir sQdCthxr

Je ne comprends pas pourquoi ces commandes manquent de logique ni pourquoi c’est si compliqué de gérer des sous-modules Git.
Une alternative serait d’utiliser Git subtree. Mais du coup on a d’autres problèmes.

Je pense que la bonne solution se situerait entre les deux : le code des sous-modules serait indexé dans le module parent, mais on conserverait la possibilité de modifier le code des enfants sans contrainte.

2 Messages

Double Zip Magnum B00in70fzmb00in70fzm Force 8 Stealth QxtdChrs
Un message, un commentaire ?
modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message
  • Pour créer des paragraphes, laissez simplement des lignes vides.

IntersportToutes Black Friday 2019 Promos Les bfgImY6yv7

Un Homme Rétro Rose Air Le 6 Et Rouge Jordan Pour Noir sQdCthxr

Nike Leopard France Jordan Blazer wkn0OP8