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