linux:memo_git
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
linux:memo_git [23/05/2012 17:29] – niv titre daniel | linux:memo_git [21/12/2012 11:23] (Version actuelle) – aj qq Commandes courantes daniel | ||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
* stash : ça on peut s'en passer dans un 1er temps, même si c'est pratique. C'est un espace " | * stash : ça on peut s'en passer dans un 1er temps, même si c'est pratique. C'est un espace " | ||
- | Résumé des commandes git : | + | Résumé des commandes git |
* graphique interactif efficace : http:// | * graphique interactif efficace : http:// | ||
* http:// | * http:// | ||
Ligne 26: | Ligne 26: | ||
La page de doc du plugin netbeans http:// | La page de doc du plugin netbeans http:// | ||
+ | Tip & tricks | ||
+ | * http:// | ||
+ | |||
+ | ===== Commandes courantes ===== | ||
+ | * Modifier le dernier message de commit '' | ||
+ | * voir les serveurs distants (ajouter -v pour avoir les urls) '' | ||
+ | * editer la conf par defaut '' | ||
===== Dépôt centralisateur ===== | ===== Dépôt centralisateur ===== | ||
Ligne 77: | Ligne 84: | ||
# et pour retirer ces droits de lecture anonyme il suffit d' | # et pour retirer ces droits de lecture anonyme il suffit d' | ||
</ | </ | ||
+ | |||
Ligne 87: | Ligne 95: | ||
</ | </ | ||
+ | ===== Exemples ===== | ||
+ | Ci dessous qq démos, pour vous faire une idée. | ||
+ | |||
+ | Les ligne qui commencent par "#>" | ||
+ | |||
+ | |||
+ | |||
+ | ==== Un local, plusieurs distants ==== | ||
+ | |||
+ | J' | ||
+ | |||
+ | Voici ce que j'ai fait (un seul serveur ici, mais si ça marche pour A...) | ||
+ | <code bash> | ||
+ | mkdir serveurA | ||
+ | cd serveurA/ | ||
+ | h=$(basename $(pwd)); touch $h a c; echo $h > c; | ||
+ | git init --bare | ||
+ | |||
+ | # un clones (pour vérifier que le push sur les serveurs est bien ce qui est attendu) | ||
+ | cd .. | ||
+ | git clone serveurA cloneA | ||
+ | # et aussi pour le peuplement initial | ||
+ | cd cloneA | ||
+ | h=$(basename $(pwd)); touch $h c1 c2; echo $h > c2; | ||
+ | git add . | ||
+ | git commit -a -m "1er commit $h" | ||
+ | git push origin master | ||
+ | |||
+ | # et un dépôt local | ||
+ | cd .. | ||
+ | mkdir loc | ||
+ | cd loc | ||
+ | git init | ||
+ | # avec qq fichiers | ||
+ | h=$(basename $(pwd)); touch $h c2; echo $h > c2; | ||
+ | git add . | ||
+ | git commit -a -m "1er commit $h" | ||
+ | # ça nous a créé une branche master, mais on veut la nommer autrement pour pas confondre avec ceux des remote | ||
+ | # et éviter d′éventuel push/pull non désiré entre ce ce master local et les remote | ||
+ | git branch -m master commun | ||
+ | |||
+ | # un alias pour le serveur | ||
+ | git remote add remoteA ../serveurA master | ||
+ | |||
+ | # une branche que l′on va synchroniser avec le serveur A | ||
+ | git fetch remoteA | ||
+ | git checkout --track -b brancheA remoteA/ | ||
+ | |||
+ | # on modifie un fichier | ||
+ | echo "mod 1" > cloneA | ||
+ | git commit -m "mod 1" cloneA | ||
+ | # que l′on veut envoyer | ||
+ | git push | ||
+ | #> | ||
+ | # Ah bon ? Le tracking marche pas ? | ||
+ | git push remoteA brancheA: | ||
+ | # ça push mieux | ||
+ | # 2e modif pour voir si ça track mieux maintenant qu′on lui a montré | ||
+ | echo "mod 2" >> cloneA | ||
+ | git commit -m "mod 2" cloneA | ||
+ | git push | ||
+ | # tj rien :-S, et avec -u ? | ||
+ | git push -u remoteA brancheA: | ||
+ | #> [...] | ||
+ | #> To ../serveurA | ||
+ | #> 3b00bff..cb44c59 | ||
+ | #> Branch brancheA set up to track remote branch master from remoteA. | ||
+ | # ça parait pourtant clair, mais | ||
+ | echo "mod 3" >> cloneA | ||
+ | git commit -a -m "mod 3" | ||
+ | git push | ||
+ | #> Everything up-to-date | ||
+ | # pas mieux... | ||
+ | </ |
linux/memo_git.1337786974.txt.gz · Dernière modification : 23/05/2012 17:29 de daniel