Bonjour.

Je suis confronté à un problème avec l'utilisation du logiciel gestionnare de version Git. Ce logiciel existe pour Mac et Windows mais mon problème rélève je crois de l'utilisation de la ligne de commande, donc je poste sur ce forum.

J'ai lu le tuto ProGit , le tuto sur kernel.org ainsi que ce bon tuto d'Alex Girard, et pourtant, je ne parviens pas à saisir le problème qui se pose dans mes manips.

J'ai un site web qui existe sur un serveur mutualisé auquel j'ai accès en ssh. Je cherche à créer un dépôt Git dans le dossier contenant les dossiers et fichiers php, js, tpl et autres, cloner ce dépôt en local, modifier et ajouter des fichiers en local, y faire mes tests, et tout rebalancer sur le serveur pour que les modifs soient prises en compte.

Ce que je tiens pour l'instant à faire, c'est créer un petit dossier de test sur mon serveur pour voir si je parviens à réaliser sur le principe l'ensemble des manips que je viens de décrire.

Sur mon serveur mutualisé, ma prod est à l'adresse ~/www/
Je crée un dossier ~/depot_referent et y copie colle juste le dossier controleurs de ma prod (rien ne sert de tout copier puisqu'il s'agit juste de voir si ça va marcher).
J'ai donc ~/www/ qui contient ma prod et ~/depot_referent contenant un dossier controleurs, puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
/!\ connexion ssh
cd depot_referent/
Sur le mutualisé, Git est en version 1.4.4.4 (info obtenue avec git version).
Le serveur ne reconnaît pas git init, c'est dû à la version d'après la doc, il faut faire un git init-db.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ git init-db
defaulting to local storage area
 
$ git status
#
# Initial commit
#
# Untracked files:
#   (use "git add" to add to commit)
#
#        controleurs/
nothing to commit
 
$ git add *
$ git commit -m "premier commit"
commiting initial tree 7013cdfbb9a6239988a72881cb96a94a95c6338e
 
$ git status
nothing to commit
Le git add * met dans l'index tous les fichiers, mon index correspond donc alors à mon répertoire de travail, git commit -m "premier commit" crée un commit à partir de l'index, donc dans notre cas du répertoire de travail : je n'ai plus aucun fichier en attente de traitement.

Puis en local sur mon PC (Git y est en version 1.6.0.4) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
$ git ssh://moi@monsite.fr/~/depot_referent/.git ~/depot_local
$ cd depot_local
$ git branch 
 * master
$ touch readme
$ vim controleurs/mp/accueil.php
/!\ modif du fichier puis enregistrement
$ git add readme controleurs/mp/accueil.php
$ git commit -m "commit de test"
$ git push
A ce moment-là, j'espère qu'en allant sur le serveur le push ait été pris en compte : je vais trouver mon readme en place en mon accueil.php édité. Mais pas du tout :

Retour sur le serveur à ~/depot_referent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
$ git branch
 * master
$ git status
# Updated but not checked in:
#   (will commit)
#
#        modified:   controleurs/mp/accueil.php
#        deleted:    readme
#

alors que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
git log
# commit 49956ac480363c894eeb7d4c2826f96badc7021b
Author: *** <***@****.***>
Date:   Sun Aug 1 12:33:41 2010 +0200
 
    commit local
 
commit 7013cdfbb9a6239988a72881cb96a94a95c6338e
Author: **** <****@****.***>
Date:   Sun Aug 1 12:30:53 2010 +0200
 
    premier commit
et bien sûr, pas de readme et mon accueil.php n'est pas modifié.

Je ne vois vraiment pas où est mon erreur, ce que j'ai pu oublier de prendre en compte. Ce sont les même manips que dans les tutos dont je vous ai donnés les liens.

Quelqu'un a-t-il une idée ?