2014-05-13 5 views
3

Nous avons un projet dans lequel l'un des développeurs a fait quelques validations dans la branche master - au lieu de créer une branche séparée de master - et a cassé des choses. Comment puis-je:git: comment déplacer les changements validés de master à branche?

  1. Nouvelle recherche les commits dans maître
  2. Faire une branche de maître
  3. Re-commit (ou quel que soit le terme git droit en est) dans les commits la nouvelle branche?

Répondre

3

Vous pouvez faire 1 & 2, mais vous pouvez simplement prendre soin d'environ 2 & 3, puis faire 1.

  1. Faire une branche de maître
  2. Re-commit (ou quel que soit le bon terme git pour ceci est) ces commits dans la nouvelle branche?

En supposant que vous avez les mauvais commits sur votre branche master dans votre copie de travail:

créer simplement et passer à une nouvelle branche:

git checkout -b name_of_new_branch 

puis pousser à repo:

git push -u origin name_of_new_branch 

votre collègue devrait maintenant pouvoir faire:

git fetch origin 
git checkout name_of_new_branch 

  1. Nouvelle recherche commits dans les maître
git checkout master 
git reset --hard HEAD~N 

N est le nombre de mauvais commits de votre collègue.

alors, si vous pouviez remplacer les branches dans votre repo (réglage par défaut dans github), alors vous pouvez:

git push origin master --force

S'il vous plaît être très prudent avec cette option. si j'étais à votre place, j'attendrai que quelqu'un me confirme que ces commandements sont corrects;)

Questions connexes