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:41] – Un local, plusieurs distants 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 92: | Ligne 99: | ||
| Les ligne qui commencent par "#>" | Les ligne qui commencent par "#>" | ||
| + | |||
| + | |||
| ==== Un local, plusieurs distants ==== | ==== Un local, plusieurs distants ==== | ||
| Ligne 97: | Ligne 106: | ||
| J' | J' | ||
| + | Voici ce que j'ai fait (un seul serveur ici, mais si ça marche pour A...) | ||
| <code bash> | <code bash> | ||
| - | # on créé 2 bare repository (nos remote en fait en local pour cet exemple) | + | mkdir serveurA |
| - | mkdir serveurA | + | |
| cd serveurA/ | cd serveurA/ | ||
| - | git init --bare | + | h=$(basename $(pwd)); touch $h a c; echo $h > c; |
| - | cd ../ | + | git init --bare |
| - | git init --bare | + | |
| - | # 2 clones (pour vérifier | + | # un clones (pour vérifier que le push sur les serveurs est bien ce qui est attendu) |
| cd .. | cd .. | ||
| git clone serveurA cloneA | git clone serveurA cloneA | ||
| - | git clone serveurB cloneB | ||
| # et aussi pour le peuplement initial | # et aussi pour le peuplement initial | ||
| cd cloneA | cd cloneA | ||
| Ligne 115: | Ligne 122: | ||
| git commit -a -m "1er commit $h" | git commit -a -m "1er commit $h" | ||
| git push origin master | git push origin master | ||
| - | cd ../cloneB | + | |
| - | h=$(basename $(pwd)); touch $h c2; echo $h > c2; | + | |
| - | git add . | + | |
| - | git commit -a -m "1er commit $h" | + | |
| - | git push origin master | + | |
| # et un dépôt local | # et un dépôt local | ||
| cd .. | cd .. | ||
| Ligne 132: | Ligne 134: | ||
| # ça nous a créé une branche master, mais on veut la nommer autrement pour pas confondre avec ceux des remote | # ç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 | # et éviter d′éventuel push/pull non désiré entre ce ce master local et les remote | ||
| - | git branch -m master | + | git branch -m master |
| - | + | ||
| - | # on créé 2 alias pour nos serveurs | + | # un alias pour le serveur |
| git remote add remoteA ../serveurA master | git remote add remoteA ../serveurA master | ||
| - | git remote add remoteB ../serveurB master | + | |
| # une branche que l′on va synchroniser avec le serveur A | # une branche que l′on va synchroniser avec le serveur A | ||
| - | git checkout --track -b brancheA remoteA/ | + | git fetch remoteA |
| - | #>fatal: git checkout: updating paths is incompatible with switching branches. | + | |
| - | #>Did you intend to checkout ' | + | |
| - | + | ||
| - | # OK, faut d′abord se mettre à jour | + | |
| - | git fetch remoteA # => créé la " | + | |
| git checkout --track -b brancheA remoteA/ | git checkout --track -b brancheA remoteA/ | ||
| + | |||
| # on modifie un fichier | # on modifie un fichier | ||
| echo "mod 1" > cloneA | echo "mod 1" > cloneA | ||
| Ligne 156: | Ligne 152: | ||
| git push remoteA brancheA: | git push remoteA brancheA: | ||
| # ça push mieux | # ça push mieux | ||
| - | #> ... | + | # 2e modif pour voir si ça track mieux maintenant qu′on lui a montré |
| - | #> To ../ | + | |
| - | #> bddaf54..3b00bff | + | |
| - | # 2e modif pour voir si ça track mieux | + | |
| echo "mod 2" >> cloneA | echo "mod 2" >> cloneA | ||
| git commit -m "mod 2" cloneA | git commit -m "mod 2" cloneA | ||
| Ligne 165: | Ligne 158: | ||
| # tj rien :-S, et avec -u ? | # tj rien :-S, et avec -u ? | ||
| git push -u remoteA brancheA: | git push -u remoteA brancheA: | ||
| - | #> ça push et ça track | ||
| #> [...] | #> [...] | ||
| #> To ../serveurA | #> To ../serveurA | ||
| #> 3b00bff..cb44c59 | #> 3b00bff..cb44c59 | ||
| #> Branch brancheA set up to track remote branch master from remoteA. | #> Branch brancheA set up to track remote branch master from remoteA. | ||
| + | # ça parait pourtant clair, mais | ||
| echo "mod 3" >> cloneA | echo "mod 3" >> cloneA | ||
| git commit -a -m "mod 3" | git commit -a -m "mod 3" | ||
linux/memo_git.1337787695.txt.gz · Dernière modification : 23/05/2012 17:41 de daniel