Bonjour,
J'ai ci-dessous l'extrait de mon git log --oneline. Je ne comprends par la première ligne (mon dernier commit, avec le HEAD - >develop etc.)

En gros, pour décrire ma situation :

  • j'ai une branche main ;
  • puis à partir de main, j'ai créé une branche develop ;
  • puis à partir de develop, je crée d'autres branches de travail (cleanup, clear_input, clean_folder, bonus…) que je supprime une fois que je les merge vers develop ;
  • puis ensuite je merge de develop vers main.


…sur les branches main et develop, je ne fais rien, pas de commit, pas de push, je fais tout sur une nouvelle branche que je merge vers develop puis vers main.

J'ai tout bien maitrisé jusqu'à la création de la branche bonus, que j'ai mergé via une PR#24 vers develop, puis j'ai mergé vers main via une autre PR#25.
puis j'ai supprimé la branche bonus en local et sur le remote.

En local, j'ai récupéré sur les branches main et develop ce qu'il y avait sur le remote (avec git pull), puis j'ai laissé passer quelques jours.

Puis je suis revenu sur mon code, et j'ai oublié que j'étais sur main.
j'ai fait les modif, j'ai commité et pushé vers la branche main en remote.

Et c'est là où je suis perdu.
Comme indiqué au début, je crée mes branches à partir de develop car, ensuite, je merge vers develop et ensuite je merge vers main.

Mais maintenant, la branche develop n'a pas les dernieres modif de main vu que j'ai pushé vers vers main directement.

Je ne peux pas faire une branche à partir de develop pour ensuite merger vers develop et merger vers main…, vu que je n'aurai pas les dernières modifs qui étaient sur main.

J'ai alors tenté au hasard cette commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
git fetch origin main:develop
Je pensais récupérer ce qu'il y a sur le main et le ramener vers develop.

Je l'ai tenté plusieurs fois car je ne sais pas sur quelle branche j'étais quand j'ai essayé cette commande la première fois.
Puis j'ai essayé en me plaçant sur une autre branche.

Puis au final, j'ai vu sur la branche develop, en local que j'ai récupéré le travail de main.
On dirait que ca a marché mais quand je vais sur github et que je regarde develop en remote, je ne vois pas le dernier travail.

Quand je fais git status, Git me dit que je suis à jour : je pense qu'il compare avec mon dépôt local.
J'ai alors fait un push et maintenant je vois bien sur le remote sur la branche develop les derniers travaux.

Mais je ne comprends ce que veut dire le (HEAD -> develop, origin/main, origin/develop, main)....
Peut-on m'aider à déchiffrer?

Et quand j'ai fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
git fetch origin main:develop
j'ai fait quoi exactement avec cette commande?

Nom : Screenshot-2.png
Affichages : 592
Taille : 53,3 Ko