Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 02-04-2012 18:40:48

BrunoL
Membre
Distrib. : 6.0.4
Noyau : 2.6.32-5-amd64
(G)UI : Gnome 2.30.2
Inscription : 26-02-2012

git : push sur serveur

Bonjour

J'essaie de comprendre git mais je me heurte à une difficulté. Sur la même machine et le même /home j'ai 2 "dépots" myBox et serveur.
De myBox je me synchronise des modifications de serveur par (/myBox$ git pull) à l'envers
de serveur  je me synchronise des modifications de myBox par (/serveur$ git pull myBox master)

Je cherche maintenant à "pousser des modification" de myBox sur serveur à l'évidence cela ne marche pas et je ne comprends pas l'inconsistance dont il est question :
------------------------------------------------------------------------------------
~/myBox$ git push serveur
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 338 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To /home/BrunoL/ServeurDepot/
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to '/home/BrunoL/ServeurDepot/'

----------------------------------------------------------------------------------
Mon objectif est d'obtenir le même résultat du dépot myBox avec un push vers le serveur que si je faisais un pull à partir du serveur.

Est-ce faisable et si oui comment ?

J'ai hésité avec le groupe logiciel mais celui là m'a semblé plus adapté si ce n'est pas cas n'hésitez pas à le dire et je migre wink

Merci.

Hors ligne

#2 05-04-2012 19:32:18

stopher
Membre
Lieu : lille
Distrib. : squeeze
Noyau : 2.6.32
(G)UI : Gnome
Inscription : 03-10-2008
Site Web

Re : git : push sur serveur

Salut ,

je ne saisie pas vraiment ce que tu souhaite faire !

Peut-être des infos qui peuvent t'aider : http://lindev.fr/index.php?post/2010/09 … C3%A9quipe

Ch.

Hors ligne

#3 07-04-2012 18:51:38

BrunoL
Membre
Distrib. : 6.0.4
Noyau : 2.6.32-5-amd64
(G)UI : Gnome 2.30.2
Inscription : 26-02-2012

Re : git : push sur serveur

hey stopher,

je voudrais utiliser git comme un gestionnaire de fichier et suivre les répertoires partagés sur plusieurs machines. Un cloud pour parler in.

J'ai vu que git pouvait gérer cela. Mais tout les doc que j'ai trouvé sur le net se "réduise" à l'usage de gestionnaire de version de git pour du source. Donc, si j'ai bien compris, fondé sur une structure du genre : je travaille sur espace "privé" et si OK je publie dans mon espace "public". les gens avec qui je travaille prenne mes documents dans mon espace "public" et les mettent dans leur espace "privé" ... et font de même pour leurs modifications.

Ce work flow doit être simplifié pour l'usage que je veux en faire. Je bosse sur mon portable et je "versionnise" sur mon serveur (attention bi-directionnel) et d'autres user font de même avec parfois des conflits à gérer mais ça avec git c'est élémentaire.

Merci pour ton adresse mais j'y retrouve les éléments des doc dont je dispose.
J'espère que c'est plus clair. Je veux faire de l'unisson mais en gardant des versions ...

A+

Hors ligne

#4 09-06-2012 05:43:34

cthuluh
Membre
Distrib. : stable
Noyau : stable
(G)UI : ratpoison
Inscription : 17-08-2010

Re : git : push sur serveur

Le message d'erreur est un peu effrayant, pourtant il te dit tout ce que tu veux savoir :
tu ne peux pas pusher sur dépôt git normal (un dépôt git normal a un répertoire de travail,
ainsi qu'un répertoire .git/. Un dépôt git "nu" ne contient que les données présentes
dans le répertoire .git/ d'un dépôt normal.

Donc, pour faire ce que tu veux faire :
1) tu dois créer un dépôt "nu" sur ton serveur.
2) pousser tes modifications, depuis ton client, sur ce dépôt "nu".
3) sur ton serveur, faire un git pull de ce dépôt "nu" pour te synchroniser
4) etc etc

serveur $ mkdir -p ~/depots/projet.git
serveur $ git clone --bare /ton/projet ~/depots/projet.git
# là, tu as un dépôt nu dans ton répertoire ~/depots/projet.git
...
client $ mkdir toto && cd toto
client $ git clone serveur:depots/projet.git
client $ cd projet
...
# modifications, git add, git commit...
client $ git push
...
serveur $ cd /ton/projet && git pull ~/depots/projet.git
...
# modifs, etc, etc

Hors ligne

Pied de page des forums