Revenant pousser à distance avec sourcetree
J'ai accidentellement poussé une branche pour le maître. Maintenant, je veux revenir le maître de la précédente livraison. Lorsque je sélectionne "Version actuelle de la branche de ce commit" seule la branche locale est revenue, et parce que le maître est de 55 ans à l'avance (accidentelle de la poussée) je ne peux pas pousser la juste revenue de maîtrise locale de la télécommande.
Lors de l'examen de cette question sur soi et sur Google, j'ai trouvé que beaucoup de gens l'utilisation de la force de pousser à l'aide de la ligne de commande. Mais depuis que je suis à l'aide de l'Arborescence Source, j'aimerais trouver un moyen qu'utilise l'Arborescence Source.
J'ai aussi trouvé le rebase option, mais je n'arrive pas à trouver des instructions étape par étape tutoriel..
Des idées?
OriginalL'auteur Michael Kloet | 2014-10-27
Vous devez vous connecter pour publier un commentaire.
Lorsque vous appuyez sur un commit, le moyen le plus sûr de revenir (plutôt que de forcer le pousser avec -f) est d'utiliser la
revert
de la fonction, de sorte qu'un nouveau commit est créé sur le dessus de votre précédente livraison.C'est possible de le faire à l'aide de Sourcetree, un clic droit dans le commit que vous voulez revenir, et en sélectionnant "Inverse commettre...".
Vous aurez besoin de faire cela pour chaque commit que vous voulez revenir en arrière, dans l'ordre inverse.
OriginalL'auteur Jesús Carrera
La meilleure façon de le faire est avec
Reset <branch> to this commit
option montré dans l'image ci-dessous.Un pop up s'affiche pour vous de choisir ce mode de code de réinitialisation que vous souhaitez choisir. [Voir ci-dessous]
Remarque: Ce n'est pas exactement le code d'inversion, mais il supprime votre s'engager entièrement pour le local et les rend plus propre.
Si vous lisez Atlasssian git meilleures pratiques, hard reset est autorisé uniquement sur le niveau local. Si u déjà poussé la branche à distance, puis il suffit de cliquer sur "revenir à ce commit', vous pousser à distance après avoir regardé le code de été annulé. La précédente
bad
s'engager toujours là en attendant dernière poussée a fait un revert effet sur elle. 🙂 source:atlassian.com/git/tutorials/...C'est la réponse que j'ai besoin pour mon scénario. Parce que j'ai déjà poussé dans mon local de la machine seule. Mais je veux supprimer cette poussée s'engage dans une branche locale. Ce un m'aide à la perfection. Grâce à @LearnerAllTheWay
OriginalL'auteur LearnerAllTheWay
Sourcetree ne pas exposer le
-f
drapeau à vous: https://answers.atlassian.com/questions/54469/how-do-i-perform-a-forced-push-push-f-from-sourcetreeDonc, la seule façon d'apporter la distance de retour à son état d'origine est de
git revert
chaque commit, vous introduit dans l'ordre inverse.En supposant que la distance était lors de la validation
A
et vous poussé votre branche holding s'engageB
,C
etD
, vous devezLe poussoir pour fonctionner correctement car vous n'êtes pas la modification de la poussée de l'histoire, mais au lieu de pousser une nouvelle série de modifications.
Si vous souhaitez raccourcir votre série de revient d'un commit, vous pourriez faire un
et de sélectionner chacun de vos
revert
s'engage à êtresquashed
. Ensuite, votrepush
ne contiendra un commit qui revientD
,C
etB
en une seule fois.-f
n'est pas nécessaire, et que cela peut être fait avecrebase
. Je suis un peu en supposant qu'il existe un sourcetree façon pour que cela se produise, mais votre réponse sorte de dit qu'il ne peut pas être fait en utilisant simplement sourcetree? La plupart des autres réponses sur DONC également afficher les commandes GIT, et pas le sourcetree étapes. Je ne suis pas GIT-savvy assez pour faire la traduction moi-même.cela ne peut être fait avec rebase. Si vous êtes prêt à utiliser la console, spécifiez le
-f
drapeau.Il n'est donc pas possible à l'aide d'SourceTree?
oui c'est possible en utilisant uniquement des Sourcetree, voir ma réponse
OriginalL'auteur eckes