IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GIT Discussion :

Remettre mon dépôt local au niveau du dépôt distant


Sujet :

GIT

  1. #1
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut Remettre mon dépôt local au niveau du dépôt distant
    Bonjour,

    Nous avons un serveur de développement qui contient nos dépôts Git "de référence" et nous avons nos dépôts locaux sur nos machines.

    Il semble que ce soit un peu la pagaille dans mon dépôt local car, sous Eclipse, je vois des fichiers avec (conflicted copy 2023-01-26 144101).
    Aussi, lors du dernier pull, un fichier nouveau dont j'ai besoin pour tester une fonctionnalité a été importé seulement en index mais je ne le vois du coup pas dans l'arborescence de ma branche master locale.

    Ça fait un moment que je n'ai pas travaillé sur le projet mais il est possible que j'aie des modifs sur une branche locale qui serait peut-être utile dans un futur plus ou moins proche. Je ne voudrais donc pas perdre ça en réimportant tout le projet sur ma machine (en réalité dans un dossier cloud mais c'est pareil).

    Est-il possible de remettre mon dépôt local au même niveau que le dépôt "de référence" avec Git ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 373
    Points : 23 629
    Points
    23 629
    Par défaut
    Est-il possible de remettre mon dépôt local au même niveau que le dépôt "de référence" avec Git ?
    Oui. S'il y en a, le plus simple pour éviter de les perdre est de placer un tag à l'emplacement courant, puis revenir à la position souhaitée.

    Utilise déjà git status et éventuellement git diff juste derrière pour vérifier si tu as des modifications en souffrance que tu n'aurais pas encore commitées. Le cas échéant, fais-le (ou stashe-les si tu es à l'aide avec, mais le plus intéressant dans la présente situation reste un commit ordinaire, à mon avis).

    Une fois le dépôt considéré comme propre par git status, mets à jour tes branches distantes grâce à git fetch --all. Puis, on considère que ta branche locale master est associée à la branche distante origin/master. Vérifie-le avec git branch -lvva master en examinant ce qui se trouve entre les crochets.

    Ensuite, tu peux comparer les branches locales et distantes :

    • git log master...origin/master (avec trois points) te permet de lister les commits qui appartiennent à une branche ou à l'autre, mais pas aux deux. C'est donc ce qui va te permettre de vérifier si la branche a divergé ou non par rapport à la copie locale ;
    • git log master..origin/master (avec deux points) te permet de voir ceux qui sont accessible depuis origin/master mais pas depuis master. Donc tu verras ceux qui ont été ajoutés à la branche distante et que tu n'as pas encore intégré chez toi (avec git pull) ;
    • git log origin/master..master (avec deux points également) te montre les commits qui sont accessibles depuis master mais pas origin/master. Donc cela te dira si tu as des commits sur ta branche que tu n'as pas encore poussés. Cela va être le cas s'ils viennent d'être produits mais également si la branche a été réécrite côté serveur puisque dans ce cas, les commits qui ont été abandonnés côté serveur seront toujours visibles de ton côté.


    Une fois que tu es certain d'avoir tout commité et sauvegardé, tu peux utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    git reset --hard origin/master
    pour ramener la branche courante (en principe master puisqu'on a fait un checkout dessus) vers la position indiquée, ici celle de la version distance de master, sur le serveur.

    Attention : l'option --hard va ramener les fichiers suivis (et seulement eux) du working directory à l'état de la version ciblée et donc écraser toute modification qui n'aura pas été enregistrée. Assure-toi d'avoir tout enregistré comme il le faut avant d'appeler cette commande.

    Bon courage.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Merci beaucoup pour cette réponse détaillée.

    Je verrai ça plus tard ; j'ai d'autres urgences aujourd'hui.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/05/2008, 11h42
  2. AIDE pour mon PFE : Local IDS en c#
    Par sadokc dans le forum C#
    Réponses: 1
    Dernier message: 20/05/2007, 14h04
  3. Réponses: 1
    Dernier message: 09/12/2006, 23h52
  4. Faire pointer mon nom de domaine vers mon réseau local
    Par raffa dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 20/11/2005, 14h26
  5. Réponses: 2
    Dernier message: 14/05/2004, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo