Moi-même et un autre développeur avaient fusionné et poussé notre travail à une branche non-maître appelée toolwork. De cette façon, nous n'avons pas eu d'impact sur le reste de l'équipe. Ma branche de sujet s'appelait DPM-93 et mon workflow git était celui-ci.Git tire dans la mauvaise branche
# do some work
git checkout DPM-93
git commit -m "did some work"
# catch up
git checkout toolwork
git pull origin toolwork
# rebase my topic branch
git checkout DPM-93
git rebase toolwork
# merge and push my changes
git checkout toolwork
git merge --no-ff DPM-93
git push origin toolwork
qui fonctionnait bien jusqu'à ce que la plupart du temps j'ai publié par mégarde ces commandes git
git checkout toolwork
git pull origin master
À ce moment-là, un tas de choses nouvelles dans la branche a montré toolwork et je ne suis pas sûr de savoir comment se débarrasser de lui à court de supprimer mon espace de travail et de re-clonage du repo.
Y at-il un moyen de sauvegarder cela à l'état avant la traction?
Serait-il correct d'utiliser 'git rebase -i ORIG_HEAD' pour supprimer les commits non désirés, en supposant que personne n'ait encore tiré de master? – unutbu
@unutbu: Je crois que le résultat final d'un tel rebasage serait similaire à un 'git reset' dans ce cas. – VonC
Merci, @VonC. Désolé pour la question idiote. D'une certaine façon, je n'ai pas réalisé que 'git reset --hard' modifie non seulement l'arbre de travail et l'index, mais aussi le pointeur parent dans le DAG. – unutbu