J'ai donc 3 branches : master
, testing
y dev
. ils suivent tous les branches respectives sur remotes/origin
mon git branch -a
montre ce qui suit :
dev
master
testing
remotes/origin/master
remotes/origin/testing
remotes/origin/dev
Quand je passe aux tests, je fusionne dev
en testing
puis quand je lance l'application, je fusionne testing
en master
donc master
est effectivement ma branche de publication.
Cela a bien fonctionné pendant un certain temps, j'ai eu quelques hoquets et j'ai dû faire quelques poussées forcées pour origin
. Ce n'est pas un gros problème, avec une petite équipe de développement et tout. Récemment j'ai fait une release donc toutes mes branches sont actuellement équivalentes ( master
== testing
== dev
== origin/master
== origin/testing
== origin/dev
)
Aujourd'hui, un autre développeur et moi avons remarqué que lorsque nous avons fait un git checkout master
une tonne de fichiers non suivis/déplacés/supprimés/renommés apparaissent lors de l'exécution de l'application git status
. C'est bizarre, car toutes les branches pointent vers le même commit. Comment cela peut-il arriver ?
La seule façon de le réparer est de faire quelque chose comme git reset --hard origin/master
puis je peux passer à testing
o dev
. Ce qui est bizarre, c'est que cela ne se produit pas lorsque l'on passe d'un mode à l'autre. testing
y dev
juste quand je passe à master
Pour essayer de déboguer ce problème, j'ai fait un nouveau clone de origin
dans un nouveau répertoire. La nouvelle caisse a le même problème que nos caisses. Avez-vous des idées ?