97 votes

comment réinitialiser la branche de développement en master

J'ai develop & master les branches, mon develop est désordonnée maintenant et je voudrais la réinitialiser et en faire une copie de mon master . je ne suis pas sûr que la fusion de l'équipe de la master en develop rendra les deux identiques. Après avoir essayé de fusionner, j'ai eu de nombreux conflits que j'ai résolus en utilisant :

git checkout develop
git merge origin/master
//got many conflicts
git checkout . --theirs

est-ce suffisant pour develop pour être une copie identique à master ?

Merci

139voto

Tim Jarvis Points 12024

Si vous voulez juste qu'ils soient la même chose.

puis

//from Develop and assuming your master is up to date with origin/master
git reset --hard master

128voto

Amber Points 159296

Si vous voulez faire develop être identique à master le moyen le plus simple est de recréer le pointeur :

git branch -f develop master

Ou, si vous avez déjà develop vérifié :

git reset --hard develop master

Notez cependant que ces deux options se débarrasseront de tout historique que develop avait qui n'était pas dans master . Si ce n'est pas le cas, vous pouvez le préserver en créant à la place un commit qui reflète master dans son dernier état :

git checkout develop
git merge --no-commit master
git checkout --theirs master .
git commit

3voto

Sanjay Sikdar Points 150

Remise à zéro du dernier engagement

git reset HEAD~

2voto

d1jhoni1b Points 1110

Par exemple, faire staging branche identique à develop on peut simplement recréer le pointeur :

Tout d'abord, assurez-vous que votre branche locale de développement est à jour avec origin/develop en courant : git checkout develop && git pull origin develop

Ensuite, vérifiez votre branche cible (dans ce cas-ci staging ) git checkout staging

Et enfin, mais pas des moindres, réinitialiser la branche cible git reset --hard develop

Pousser les changements par force brute (git se plaindra car les pointeurs locaux ont une adresse différente). git push -f

Et ce serait à peu près tout !

0voto

Gibolt Points 4072

Si tout le reste échoue, vous pouvez supprimer votre branche actuelle et la recréer directement à partir de master .

git branch -D develop
git checkout master
git checkout -b develop

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X